Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ с Docker Π½Π° Windows подсистСма Π·Π° Linux (WSL)

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ с Docker Π½Π° Windows подсистСма Π·Π° Linux (WSL)

Π—Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡŠΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎ с Π΄ΠΎΠΊΠ΅Ρ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² 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
  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)

Π’ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π°, ΠΊΠΎΠΉΡ‚ΠΎ сС отваря, Ρ‰Ρ€Π°ΠΊΠ½Π΅Ρ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ Π±ΡƒΡ‚ΠΎΠ½Π° Π‘Ρ‚Π°Ρ€Ρ‚.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ с Docker Π½Π° Windows подсистСма Π·Π° Linux (WSL)

Docker ΠΈ docker-compose Π²Π΅Ρ‡Π΅ са Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π² Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° WSL.

Π’Π°ΠΆΠ½ΠΎ! Актуализираният Docker Desktop Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ° Ρ€Π°Π·Π΄Π΅Π» с WSL Π² ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π° с настройки. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° WSL Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π° Ρ‚Π°ΠΌ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ с Docker Π½Π° Windows подсистСма Π·Π° Linux (WSL)

Π’Π°ΠΆΠ½ΠΎ! Π’ допълнСниС към ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Ρ‡Π΅Ρ‚ΠΎ Π·Π° ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π·Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° WSL, Π²ΠΈΠ΅ ΡΡŠΡ‰ΠΎ трябва Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ Π²Π°ΡˆΠ°Ρ‚Π° WSL дистрибуция Π² Ρ€Π°Π·Π΄Π΅Π»Π° РСсурси-> WSL интСграция.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ с Docker Π½Π° Windows подсистСма Π·Π° Linux (WSL)

Ρ…Π²ΡŠΡ€Π»ΡΠΌ

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΡŠΠ·Π½ΠΈΠΊΠ½Π°Ρ…Π° ΠΏΡ€ΠΈ ΠΎΠΏΠΈΡ‚ Π·Π° ΠΏΠΎΠ²Π΄ΠΈΠ³Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π² потрСбитСлската дирСктория Π½Π° Windows, Π΄ΠΎΠΉΠ΄ΠΎΡ…Π° ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·Π½Π΅Π½Π°Π΄Π°.

Π Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° bash скриптовС (ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ стартират, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ са ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π·Π° инсталиранС Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ дистрибуции) ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Π½Π΅Ρ‰Π°, ΠΊΠΎΠΈΡ‚ΠΎ са ΠΎΠ±ΠΈΡ‡Π°ΠΉΠ½ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° 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 (Π΄ΠΎΡ€ΠΈ Π³ΠΎ няма), Π° във Ρ„Π°ΠΉΠ»Π° с хостовС Π½Π° Windows 32 (ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС Π½Π°ΠΌΠΈΡ€Π° C:WindowsSystem10driversetchosts).

ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈ

По-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описаниС Π½Π° всяка ΡΡ‚ΡŠΠΏΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Ρ‚ΡƒΠΊ:

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€