Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с Docker Π½Π° Windows Subsystem for Linux (WSL)

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с Docker Π½Π° Windows Subsystem for Linux (WSL)

Π—Π° ΠΏΡŠΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° docker Π² WSL Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° инсталация Π½Π° WSL 2. По Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° написванС Π½Π° Π±Π΅Π»Π΅ΠΆΠΊΠ°Ρ‚Π°, Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π΅ възмоТно само Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° участиСто Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π·Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½Π° ΠΎΡ†Π΅Π½ΠΊΠ° Π½Π° Windows (WSL 2 Π΅ Π½Π°Π»ΠΈΡ‡Π½Π° Π² сборкитС 18932 ΠΈ ΠΏΠΎ-високи). Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° сС спомСнС, Ρ‡Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° вСрсия Windows 10 Pro Π·Π° инсталиранСто ΠΈ настройванСто Π½Π° Docker Desktop.

ΠŸΡŠΡ€Π²ΠΈ ΡΡ‚ΡŠΠΏΠΊΠΈ

Π‘Π»Π΅Π΄ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π·Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½Π° ΠΎΡ†Π΅Π½ΠΊΠ° ΠΈ инсталацията Π½Π° обновлСния, Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° инсталиратС дистрибутив Π½Π° 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 ΡΡŠΠΎΠ±Ρ‰ΠΈ Π·Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΎΡ‚ страна Π½Π° firewall, ΠΎΡ‚ΠΈΠ²Π°ΠΌΠ΅ Π² настройкитС Π½Π° антивируса ΠΈ ΠΏΡ€Π°Π²ΠΈΠΌ слСднитС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π½Π° мрСТовия Π΅ΠΊΡ€Π°Π½ (Π² Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Kaspersky Total Security):

  • ΠŸΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ Π² Настройки -> Π—Π°Ρ‰ΠΈΡ‚Π° -> ΠœΡ€Π΅ΠΆΠΎΠ²ΠΈ Π΅ΠΊΡ€Π°Π½ -> Настройка Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° -> Local Service (TCP) -> ΠŸΡ€ΠΎΠΌΡΠ½Π°
  • ΠžΡ‚ списъка с Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΏΠΎΡ€Ρ‚ΠΎΠ²Π΅ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°ΠΌΠ΅ ΠΏΠΎΡ€Ρ‚ 445.
  • Π—Π°ΠΏΠ°Π·ΠΈ

Π‘Π»Π΅Π΄ стартиранС Π½Π° Docker Desktop Π² Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ контСкстно мСню ΠΈΠ·Π±ΠΈΡ€Π°ΠΌΠ΅ опцията WSL 2 Tech Preview.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с Docker Π½Π° Windows Subsystem for Linux (WSL)

Π’ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ‡Π΅ натискамС Π±ΡƒΡ‚ΠΎΠ½Π° Start.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с Docker Π½Π° Windows Subsystem for Linux (WSL)

Π‘Π΅Π³Π° docker ΠΈ docker-compose са Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π²ΡŠΡ‚Ρ€Π΅ Π² дистрибутива WSL.

Π’Π°ΠΆΠ½ΠΎ! Π’ обновСния Docker Desktop сСга ΠΈΠΌΠ° Ρ‚Π°Π± Π·Π° WSL Π² ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π° с настройки. Π’Π°ΠΌ сС Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° WSL.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с Docker Π½Π° Windows Subsystem for Linux (WSL)

Π’Π°ΠΆΠ½ΠΎ! ОсвСн ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ°Ρ‚Π° Π·Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° WSL, Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ Π’Π°ΡˆΠΈΡ WSL дистрибутив Π² Ρ€Π°Π·Π΄Π΅Π»Π° Resources->WSL Integration.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с Docker Π½Π° Windows Subsystem for Linux (WSL)

Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°Π½Π΅

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

Π Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ със стартиранСто Π½Π° bash скриптовС (ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ стартират ΠΏΡ€ΠΈ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ Π·Π° инсталиранС Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ дистрибуции) ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ, ΠΎΠ±ΠΈΡ‡Π°ΠΉΠ½ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Linux, Π½Π΅Ρ‰Π°, Π½Π°ΠΊΠ°Ρ€Π°Ρ…Π° Π΄Π° сС замисля Π·Π° Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² дирСкторията Π½Π° потрСбитСля Ubuntu 18.04.

.

ΠžΡ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π»ΠΈΠ·Π° слСдният: ΠΊΠ°ΠΊ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ с Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ‡Ρ€Π΅Π· IDE, инсталирана Π½Π° Windows. ΠšΠ°Ρ‚ΠΎ "best practice" Π½Π°ΠΌΠ΅Ρ€ΠΈΡ… само Π΅Π΄Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” Ρ€Π°Π±ΠΎΡ‚Π° Ρ‡Ρ€Π΅Π· VSCode (Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ съм ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚Π΅Π» Π½Π° PhpStorm).

Π‘Π»Π΅Π΄ изтСглянС ΠΈ инсталиранС Π½Π° VSCode, Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ инсталирайтС Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Remote Development extension pack.

Π‘Π»Π΅Π΄ инсталиранС Π½Π° горСспомСнатото Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅, Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ просто Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° code . Π² дирСкторията Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΡ€ΠΈ стартирана VSCode.

Π’ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ Ρ‡Ρ€Π΅Π· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Π΅ nginx. Π”Π° Π³ΠΎ инсталирамС Ρ‡Ρ€Π΅Π· sudo apt-get install nginx Π½Π΅ сС ΠΎΠΊΠ°Π·Π° Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° просто. ΠŸΡŠΡ€Π²ΠΎ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° обновя дистрибуцията Π½Π° WSL, ΠΊΠ°Ρ‚ΠΎ изпълня sudo apt update && sudo apt dist-upgrade, ΠΈ Π΅Π΄Π²Π° слСд Ρ‚ΠΎΠ²Π° Π΄Π° стартирам инсталацията Π½Π° nginx.

Π’Π°ΠΆΠ½ΠΎ! Всички Π»ΠΎΠΊΠ°Π»Π½ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ Π½Π΅ сС записват Π² Ρ„Π°ΠΉΠ»Π° /etc/hosts Π½Π° дистрибуцията Linux (Π½Π΅Π³ΠΎ Ρ‚Π°ΠΌ Π΄Π°ΠΆΠ΅ Π³ΠΎ няма), Π° във Ρ„Π°ΠΉΠ»Π° hosts (ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² C:WindowsSystem32driversetchosts) Π½Π° Windows 10.

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

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

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster