Linux-д зориулсан Windows дэд систем (WSL) дээр Docker ашиглан хөгжүүлэлт

Linux-д зориулсан Windows дэд систем (WSL) дээр Docker ашиглан хөгжүүлэлт

WSL дахь Docker төсөлтэй бүрэн ажиллахын тулд та WSL 2-г суулгах ёстой. Үүнийг бичиж байх үед үүнийг зөвхөн Windows Insider программд оролцохын тулд ашиглах боломжтой (WSL 2 нь 18932 ба түүнээс дээш хувилбаруудад байдаг). Docker Desktop-ийг суулгах, тохируулахын тулд Windows 10 Pro хувилбар шаардлагатай гэдгийг тусад нь дурдах нь зүйтэй.

эхний алхам

Insider программд нэгдэж, шинэчлэлтүүдийг суулгасны дараа та Linux түгээлт (энэ жишээнд Ubuntu 18.04) болон WSL 2 Tech Preview-тэй Docker Desktop суулгах шаардлагатай.

  1. Docker Desktop WSL 2 Tech Preview
  2. Windows дэлгүүрээс Ubuntu 18.04

Хоёр цэг дээр бид бүх суулгац, тохиргооны зааврыг дагаж мөрддөг.

Ubuntu 18.04 түгээлтийг суулгаж байна

Ubuntu 18.04-ийг ажиллуулахын өмнө PowerShell дээр хоёр тушаал ажиллуулж Windows WSL болон Windows Virtual Machine Platform-ыг идэвхжүүлэх хэрэгтэй:

  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-г сонгоно уу.

Linux-д зориулсан Windows дэд систем (WSL) дээр Docker ашиглан хөгжүүлэлт

Нээгдсэн цонхонд Start товчийг дарна уу.

Linux-д зориулсан Windows дэд систем (WSL) дээр Docker ашиглан хөгжүүлэлт

Docker болон docker-compose нь одоо WSL түгээлт дотор боломжтой.

Чухал! Шинэчлэгдсэн Docker Desktop нь тохиргооны цонхон доторх WSL-тэй табтай боллоо. WSL дэмжлэг тэнд идэвхжсэн.

Linux-д зориулсан Windows дэд систем (WSL) дээр Docker ашиглан хөгжүүлэлт

Чухал! WSL идэвхжүүлэх хайрцгаас гадна та Resources->WSL Integration таб дээрээс WSL түгээлтээ идэвхжүүлэх хэрэгтэй.

Linux-д зориулсан Windows дэд систем (WSL) дээр Docker ашиглан хөгжүүлэлт

Ажиллуулах

Гэнэтийн зүйл бол Windows хэрэглэгчийн лавлах дотор байрлах төслийн савыг өргөх гэж оролдох үед гарч ирсэн олон асуудал байв.

Bash скриптүүдийг ажиллуулахтай холбоотой янз бүрийн төрлийн алдаанууд (энэ нь ихэвчлэн шаардлагатай номын сан, түгээлтийг суулгахад зориулагдсан контейнер барих үед эхэлдэг) болон Линукс дээр хөгжүүлэхэд түгээмэл тохиолддог бусад зүйлүүд нь биднийг Ubuntu 18.04-ийн хэрэглэгчийн лавлахад төслүүдийг шууд байрлуулах талаар бодоход хүргэсэн.

.

Өмнөх асуудлын шийдлээс дараахь зүйлийг дурдвал: Windows дээр суулгасан IDE-ээр дамжуулан төслийн файлуудтай хэрхэн ажиллах талаар. "Шилдэг туршлага"-ын хувьд би VSCode-ээр дамжуулан ажиллах ганц л сонголтыг олсон (хэдийгээр би PhpStorm-ийн шүтэн бишрэгч).

VSCode-г татаж аваад суулгасны дараа өргөтгөлдөө суулгахаа мартуузай Remote Development өргөтгөлийн багц.

Дээр дурдсан өргөтгөлийг суулгасны дараа тушаалыг ажиллуулна уу code . VSCode ажиллаж байх үед төслийн санд.

Энэ жишээнд nginx нь хөтөчөөр дамжуулан контейнерт хандах шаардлагатай. Үүнийг ашиглан суулгана уу sudo apt-get install nginx Энэ нь тийм ч энгийн зүйл биш болж хувирав. Эхлээд бид WSL түгээлтийг ажиллуулах замаар шинэчлэх шаардлагатай болсон sudo apt update && sudo apt dist-upgrade, үүний дараа л nginx суулгацыг эхлүүлнэ.

Чухал! Бүх локал домэйнууд нь Линуксийн түгээлтийн /etc/hosts файлд (тэнд ч байхгүй) биш Windows 32-ийн хост файлд (ихэвчлэн C:WindowsSystem10driversetchosts) бүртгэгдсэн байдаг.

Эх сурвалжууд

Алхам бүрийн дэлгэрэнгүй тайлбарыг эндээс олж болно:

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх