Развој со Docker на Windows потсистем за Linux (WSL)
За целосно да работите со проект Docker во WSL, мора да инсталирате WSL 2. Во моментот на пишување, неговата употреба е можна само како дел од учеството во програмата Windows Insider (WSL 2 е достапен во изданија 18932 и понови). Исто така, вреди да се спомене одделно дека верзијата Windows 10 Pro е потребна за инсталирање и конфигурирање на Docker Desktop.
Првите чекори
Откако ќе се приклучите на програмата Insider и ќе инсталирате ажурирања, треба да инсталирате дистрибуција на Linux (Ubuntu 18.04 во овој пример) и Docker Desktop со WSL 2 Tech Preview:
Потоа треба да се увериме дека ќе користиме WSL v2. За да го направите ова, во терминалот WSL или PowerShell, извршете ги следните команди:
wsl -l -v — погледнете која верзија е моментално инсталирана. Ако 1, тогаш се движиме понатаму надолу на листата
wsl --set-version ubuntu 18.04 2 - за ажурирање на верзија 2
wsl -s ubuntu 18.04 — инсталирајте го Ubuntu 18.04 како стандардна дистрибуција
Сега можете да го стартувате Ubuntu 18.04 и да го конфигурирате (наведете го вашето корисничко име и лозинка).
Инсталирање на Docker Desktop
Следете ги упатствата за време на процесот на инсталација. Компјутерот ќе бара рестартирање по инсталацијата и при првото стартување за да се овозможи Hyper-V (што бара Windows 10 Pro за поддршка).
Важно! Ако Docker Desktop пријави блокирање од заштитниот ѕид, одете во поставките за антивирус и направете ги следните промени во правилата за заштитен ѕид (во овој пример, Kaspersky Total Security се користи како антивирус):
Одете во Поставки -> Безбедност -> Огнен ѕид -> Конфигурирајте правила за пакети -> Локална услуга (TCP) -> Уреди
Отстранете ја портата 445 од листата на локални пристаништа
Задржи
Откако ќе ја стартувате Docker Desktop, изберете WSL 2 Tech Preview од неговото контекстно мени.
Во прозорецот што се отвора, кликнете на копчето Start.
Docker и docker-compose сега се достапни во рамките на дистрибуцијата WSL.
Важно! Ажурираниот Docker Desktop сега има картичка со WSL во прозорецот за поставки. Поддршката за WSL е овозможена таму.
Важно! Покрај полето за избор за активирање WSL, треба да ја активирате и вашата WSL дистрибуција во табулаторот Resources->WSL Integration.
Стартувај
Она што беше неочекувано беа многуте проблеми што се појавија при обидот да се подигнат проектните контејнери лоцирани во корисничкиот директориум на Windows.
Грешки од различни видови поврзани со лансирањето на баш скриптите (кои обично започнуваат кога се градат контејнери за инсталирање на потребните библиотеки и дистрибуции) и други работи вообичаени за развој на Linux не натераа да размислуваме за поставување проекти директно во корисничкиот директориум на Ubuntu 18.04.
.
Од решението на претходниот проблем следува следново: како да работите со проектните датотеки преку IDE инсталиран на Windows. Како „најдобра практика“, најдов само една опција за себе - работа преку VSCode (иако сум обожавател на PhpStorm).
Откако ќе ја инсталирате горенаведената екстензија, едноставно извршете ја командата code . во директориумот на проектот кога работи VSCode.
Во овој пример, nginx е потребен за пристап до контејнерите преку прелистувачот. Инсталирајте го преку sudo apt-get install nginx Се покажа дека не е толку едноставно. Прво, требаше да ја ажурираме дистрибуцијата WSL со извршување sudo apt update && sudo apt dist-upgrade, и дури потоа започнете со инсталацијата на nginx.
Важно! Сите локални домени не се регистрирани во датотеката /etc/hosts на дистрибуцијата Linux (не е ни таму), туку во датотеката на домаќините (обично лоцирана C:WindowsSystem32driversetchosts) на Windows 10.
Извори
Подетален опис на секој чекор може да се најде овде: