ProHoster > Blog > administracja > Programowanie za pomocą Dockera w podsystemie Windows dla systemu Linux (WSL)
Programowanie za pomocą Dockera w podsystemie Windows dla systemu Linux (WSL)
Aby w pełni współpracować z projektem Docker w WSL należy zainstalować WSL 2. W chwili pisania tego tekstu korzystanie z niego możliwe jest jedynie w ramach uczestnictwa w programie Windows Insider (WSL 2 dostępny jest w buildach 18932 i wyższych). Warto też osobno wspomnieć, że do instalacji i konfiguracji Docker Desktop wymagana jest wersja Windows 10 Pro.
Pierwsze kroki
Po dołączeniu do programu Insider i zainstalowaniu aktualizacji należy zainstalować dystrybucję Linuksa (w tym przykładzie Ubuntu 18.04) oraz Docker Desktop z WSL 2 Tech Preview:
Teraz możesz uruchomić Ubuntu 18.04 i skonfigurować go (podaj swoją nazwę użytkownika i hasło).
Instalowanie pulpitu Docker
Postępuj zgodnie z instrukcjami podczas procesu instalacji. Komputer będzie wymagał ponownego uruchomienia po instalacji i przy pierwszym uruchomieniu, aby włączyć funkcję Hyper-V (która wymaga obsługi systemu Windows 10 Pro).
Ważne! Jeśli Docker Desktop zgłosi blokowanie przez zaporę, przejdź do ustawień programu antywirusowego i wprowadź następujące zmiany w regułach zapory (w tym przykładzie jako program antywirusowy używany jest Kaspersky Total Security):
Przejdź do Ustawienia -> Bezpieczeństwo -> Zapora sieciowa -> Konfiguruj reguły pakietów -> Usługa lokalna (TCP) -> Edytuj
Usuń port 445 z listy portów lokalnych
Oszczędzać
Po uruchomieniu Docker Desktop wybierz opcję WSL 2 Tech Preview z menu kontekstowego.
W oknie, które zostanie otwarte, kliknij przycisk Start.
Docker i docker-compose są teraz dostępne w dystrybucji WSL.
Ważne! Zaktualizowany pulpit Docker ma teraz zakładkę z WSL w oknie ustawień. Tam włączona jest obsługa WSL.
Ważne! Oprócz zaznaczenia pola wyboru Aktywacja WSL, musisz także aktywować swoją dystrybucję WSL w zakładce Zasoby->Integracja WSL.
szalupa
Nieoczekiwane było wiele problemów, które pojawiły się podczas próby pobrania kontenerów projektów znajdujących się w katalogu użytkownika systemu Windows.
Różnego rodzaju błędy związane z uruchamianiem skryptów bash (które zwykle rozpoczynają się podczas budowania kontenerów do instalacji niezbędnych bibliotek i dystrybucji) oraz inne rzeczy typowe dla programowania w systemie Linux skłoniły nas do zastanowienia się nad umieszczeniem projektów bezpośrednio w katalogu użytkownika Ubuntu 18.04.
.
Z rozwiązania poprzedniego problemu wynika, co następuje: jak pracować z plikami projektu za pomocą IDE zainstalowanego w systemie Windows. Jako „najlepszą praktykę” znalazłem dla siebie tylko jedną opcję - pracę z VSCode (chociaż jestem fanem PhpStorm).
Po zainstalowaniu wyżej wymienionego rozszerzenia wystarczy uruchomić polecenie code . w katalogu projektu, gdy uruchomiony jest VSCode.
W tym przykładzie nginx jest wymagany, aby uzyskać dostęp do kontenerów za pośrednictwem przeglądarki. Zainstaluj go przez sudo apt-get install nginx Okazało się, że nie jest to takie proste. Najpierw musieliśmy zaktualizować dystrybucję WSL, uruchamiając ją sudo apt update && sudo apt dist-upgradei dopiero potem rozpocznij instalację Nginx.
Ważne! Wszystkie domeny lokalne są zarejestrowane nie w pliku /etc/hosts dystrybucji Linuksa (nawet go tam nie ma), ale w pliku hosts (zwykle zlokalizowanym C:WindowsSystem32drivesetchosts) systemu Windows 10.
Źródła informacji
Bardziej szczegółowy opis każdego kroku można znaleźć tutaj: