Razvoj uz Docker na Windows podsistemu za Linux (WSL)
Da biste u potpunosti radili sa docker projektom u WSL-u, morate instalirati WSL 2. U vrijeme pisanja ovog teksta, on se može koristiti samo kao dio programa Windows Insider (WSL 2 je dostupan u verzijama 18932 i novijim). Također je vrijedno spomenuti odvojeno da vam je potrebna verzija Windows 10 Pro da biste instalirali i konfigurirali Docker Desktop.
prvi koraci
Nakon što se pridružite programu Insider i instalirate ažuriranja, morate instalirati distribuciju Linuxa (u ovom primjeru se koristi Ubuntu 18.04) i Docker Desktop sa WSL 2 Tech Preview:
Sada možete pokrenuti Ubuntu 18.04, konfigurirati (navesti korisničko ime i lozinku).
Instaliranje Docker Desktop
Pratite uputstva tokom procesa instalacije. Računar će zahtijevati ponovno pokretanje nakon instalacije i pri prvom pokretanju da bi se omogućio Hyper-V (zbog čega je potreban Windows 10 Pro).
Važno! Ako Docker Desktop prijavi blokiranje zaštitnog zida, idite na postavke antivirusnog programa i napravite sljedeće promjene u pravilima zaštitnog zida (u ovom primjeru, Kaspersky Total Security se koristi kao antivirus):
Idite na Postavke -> Sigurnost -> Firewall -> Konfiguriraj pravila za pakete -> Lokalna usluga (TCP) -> Uredi
Uklonite port 445 sa liste lokalnih portova
zadržati
Nakon što pokrenete Docker Desktop, odaberite WSL 2 Tech Preview iz njegovog kontekstnog izbornika.
U prozoru koji se otvori kliknite na dugme Start.
Docker i docker-compose su sada dostupni unutar WSL distribucije.
Važno! Ažurirani Docker Desktop sada ima karticu sa WSL unutar prozora postavki. Tu je omogućena WSL podrška.
Važno! Osim potvrdnog okvira za WSL aktivaciju, također morate aktivirati svoju WSL distribuciju na kartici Resursi-> WSL Integracija.
Запуск
Mnogi problemi koji su se pojavili prilikom pokušaja podizanja kontejnera projekata koji se nalaze u Windows korisničkom direktoriju bili su iznenađenje.
Različite vrste grešaka koje se odnose na pokretanje bash skripti (koje obično počinju kada se naprave kontejneri za instaliranje potrebnih biblioteka i distribucija) i druge stvari koje su uobičajene za razvoj na Linuxu, navele su me da razmišljam o postavljanju projekata direktno u Ubuntu 18.04 korisnički direktorij.
.
Iz rješenja prethodnog problema slijedi: kako raditi sa projektnim datotekama preko IDE instaliranog na Windows-u. Kao „najbolju praksu“, našao sam samo jednu opciju za sebe - rad preko VSCode-a (iako sam obožavatelj PhpStorma).
Nakon instaliranja gornje ekstenzije, jednostavno pokrenite naredbu code . u direktoriju projekta kada je VSCode pokrenut.
U ovom primjeru, nginx je neophodan za pristup kontejnerima preko pretraživača. Instalirajte ga putem sudo apt-get install nginx pokazalo se da nije tako lako. Prvi korak je bio ažuriranje WSL distribucije pokretanjem sudo apt update && sudo apt dist-upgrade, i tek nakon toga pokrenite nginx instalaciju.
Važno! Svi lokalni domeni nisu upisani u datoteku /etc/hosts distribucije Linuxa (nije čak ni tamo), već u Windows 32 hosts datoteku (obično se nalazi C:WindowsSystem10driversetchosts).
Izvori
Detaljniji opis svakog koraka možete pronaći ovdje: