Развој со Docker на Windows потсистем за Linux (WSL)

Развој со 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:

  1. Docker Desktop WSL 2 Tech Preview
  2. Ubuntu 18.04 од Windows Store

Во двете точки ги следиме сите инструкции за инсталација и конфигурација.

Инсталирање на дистрибуцијата на Ubuntu 18.04

Пред да го стартувате Ubuntu 18.04, треба да овозможите Windows WSL и Windows Virtual Machine Platform со извршување на две команди во PowerShell:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux (потребно е рестартирање на компјутерот)
  2. Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Потоа треба да се увериме дека ќе користиме 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 од неговото контекстно мени.

Развој со Docker на Windows потсистем за Linux (WSL)

Во прозорецот што се отвора, кликнете на копчето Start.

Развој со Docker на Windows потсистем за Linux (WSL)

Docker и docker-compose сега се достапни во рамките на дистрибуцијата WSL.

Важно! Ажурираниот Docker Desktop сега има картичка со WSL во прозорецот за поставки. Поддршката за WSL е овозможена таму.

Развој со Docker на Windows потсистем за Linux (WSL)

Важно! Покрај полето за избор за активирање WSL, треба да ја активирате и вашата WSL дистрибуција во табулаторот Resources->WSL Integration.

Развој со Docker на Windows потсистем за Linux (WSL)

Стартувај

Она што беше неочекувано беа многуте проблеми што се појавија при обидот да се подигнат проектните контејнери лоцирани во корисничкиот директориум на Windows.

Грешки од различни видови поврзани со лансирањето на баш скриптите (кои обично започнуваат кога се градат контејнери за инсталирање на потребните библиотеки и дистрибуции) и други работи вообичаени за развој на Linux не натераа да размислуваме за поставување проекти директно во корисничкиот директориум на Ubuntu 18.04.

.

Од решението на претходниот проблем следува следново: како да работите со проектните датотеки преку IDE инсталиран на Windows. Како „најдобра практика“, најдов само една опција за себе - работа преку VSCode (иако сум обожавател на PhpStorm).

Откако ќе го преземете и инсталирате VSCode, задолжително инсталирајте го во наставката Пакет екстензии за далечински развој.

Откако ќе ја инсталирате горенаведената екстензија, едноставно извршете ја командата code . во директориумот на проектот кога работи VSCode.

Во овој пример, nginx е потребен за пристап до контејнерите преку прелистувачот. Инсталирајте го преку sudo apt-get install nginx Се покажа дека не е толку едноставно. Прво, требаше да ја ажурираме дистрибуцијата WSL со извршување sudo apt update && sudo apt dist-upgrade, и дури потоа започнете со инсталацијата на nginx.

Важно! Сите локални домени не се регистрирани во датотеката /etc/hosts на дистрибуцијата Linux (не е ни таму), туку во датотеката на домаќините (обично лоцирана C:WindowsSystem32driversetchosts) на Windows 10.

Извори

Подетален опис на секој чекор може да се најде овде:

Извор: www.habr.com

Додадете коментар