Bardzo popularne i lubiane zwłaszcza przez deweloperów narzędzie do „drobnej wirtualizacji” po kilku miesiącach testów oficjalnie uzyskało wsparcie dla procesorów Apple.
Docker działa multiplatformowo
Wiemy, że Docker Desktop jest dla wielu z Was istotną częścią procesu tworzenia oprogramowania. Jesteśmy bardzo wdzięczni, że mamy tak aktywną i wspierającą społeczność, i że dzielicie się z nami zarówno swoim entuzjazmem, jak i opiniami. Bez Was nie udałoby nam się tu dotrzeć.
Tak zespół stojący za Dckerem dziękuje społeczności, która od kilku miesięcy testuje wczesne wersje tego systemu na M1.
Docker już od dawna obsługuje obrazy wieloplatformowe, co oznacza, że na Docker Desktop można dziś budować i uruchamiać zarówno obrazy amd64 (Intel), jak i arm64 (Apple silicon). Nowy Docker Desktop dla Apple silicon nie jest wyjątkiem – można budować i uruchamiać obrazy zarówno dla architektury x86, jak i ARM bez konieczności konfigurowania złożonego środowiska programistycznego do kompilacji wieloplatformowej.
Docker Hub ułatwia także identyfikację i udostępnianie repozytoriów, które dostarczają obrazy wieloplatformowe.
To bardzo optymistyczne zapewnienia, jednak nadal nie jest idealnie. Jedyne narzędzie, dla którego muszę używać Maca mini z Intelem korzysta z Dockera i nadal nie daje się w prosty sposób uruchomić. Aby było śmieszniej, jest to ADK dostarczane przez Apple dla deweloperów HomeKit. Używa ono Dockera do budowy środowiska do kompilacji na moduły nRF52840. Widać, że nastąpił znaczny postem, bo obecnie standardowa instalacja „wysypuje się” pod sam koniec procesu i pewnie wystarczy kilka drobnych zmian w konfiguracji. Jednak widać, że nie wszystko jest już bezproblemowe. Zaznaczam, że na Intelu też musiałem dokonać jednej drobnej modyfikacji we wspomnianym ADK.
Tak czy siak, widać, że narzędzi na procesory Apple dla deweloperów przybywa.
Więcej informacji o Dockerze dla procesorów Apple
Niestety z praktyki praca z Dockerem na M1 prowadzi niechybnie do zużycia dysku SSD w perspektywie roku do kilku lat. Dwudniowa praca z dockerem z aplikacją nodejs na bazie postgres tworzoną w VS Code w kontenerze na bazowym Airze z 8GB i 250GB SSD to ok 1 TBW w ciągu dwóch dni. A cały setup jest raczej lekki jeśli chodzi o zużycie zasobów.
Oznaczałoby to osiągnięcie 150TBW w około rok. To wszystko oczywiście zakładając wiarygodność odczytywanych danych SMART. Jeszcze się łudzę, że te dane są przekłamane.
Z drugiej strony: co to za pomysł, żeby do wirtualizacji używać komputera z 8 GB RAM-u? Czy gdyby była dostępna wersja 4 GB to wybrałbyś taką, żeby przyoszczędzić jeszcze kilka stów? Jaja sobie robisz z tego co przynosi ci chleb? No chyba, że to hobbystycznie – to ok.
Ale w czym problem? Akurat ten projekt zużywa może 200MB RAM wraz z bazą Postgres. MBA to pomocnicza maszyna, którą zabieram na weekend czy na urlop. Podstawowe stanowisko pracy to MBP16, jeszcze na intelu z 32GB RAM.
To nie zmienia problemu że MacOS „ora” SSDka na urządzeniach z M1 ponad granice przyzwoitości. I nie uzasadnia tego potrzeba swapowanie wynikające z używania aplikacji potrzebujących duże ilości RAM.
Nie powiedziałbym, że „problem”. Jeśli już to raczej Twój. Kupiłeś laptopa z 8GB RAM i jęczysz, że SSD napierdziela. Wyluzuj i zapomnij o tym, jeśli Air robi robotę.
Swoją drogą ten Air prawdopodobnie w większości przypadków rozkłada wydajnościowo MBP16.
Ziomek nie napinaj się tak.