Pembangunan dengan Docker pada Windows Subsystem untuk Linux (WSL)

Pembangunan dengan Docker pada Windows Subsystem untuk Linux (WSL)

Untuk bekerja sepenuhnya dengan projek Docker dalam WSL, anda mesti memasang WSL 2. Pada masa penulisan, penggunaannya hanya boleh dilakukan sebagai sebahagian daripada penyertaan dalam program Windows Insider (WSL 2 tersedia dalam binaan 18932 dan lebih tinggi). Perlu dinyatakan secara berasingan bahawa versi Windows 10 Pro diperlukan untuk memasang dan mengkonfigurasi Docker Desktop.

Langkah Pertama

Selepas menyertai program Insider dan memasang kemas kini, anda perlu memasang pengedaran Linux (Ubuntu 18.04 dalam contoh ini) dan Docker Desktop dengan WSL 2 Tech Preview:

  1. Pratonton Teknologi WSL 2 Desktop Docker
  2. Ubuntu 18.04 daripada Gedung Windows

Di kedua-dua titik kami mengikuti semua arahan pemasangan dan konfigurasi.

Memasang pengedaran Ubuntu 18.04

Sebelum menjalankan Ubuntu 18.04, anda perlu mendayakan Windows WSL dan Platform Mesin Maya Windows dengan menjalankan dua arahan dalam PowerShell:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux (memerlukan komputer dimulakan semula)
  2. Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Selepas itu kita perlu memastikan bahawa kita akan menggunakan WSL v2. Untuk melakukan ini, dalam terminal WSL atau PowerShell, jalankan arahan berikut:

  • wsl -l -v β€” lihat versi mana yang sedang dipasang. Jika 1, maka kita bergerak lebih jauh ke bawah senarai
  • wsl --set-version ubuntu 18.04 2 - untuk mengemas kini kepada versi 2
  • wsl -s ubuntu 18.04 β€” pasang Ubuntu 18.04 sebagai pengedaran lalai

Sekarang anda boleh memulakan Ubuntu 18.04 dan mengkonfigurasinya (nyatakan nama pengguna dan kata laluan anda).

Memasang Desktop Docker

Ikuti arahan semasa proses pemasangan. Komputer akan memerlukan permulaan semula selepas pemasangan dan pada permulaan pertama untuk mendayakan Hyper-V (yang memerlukan Windows 10 Pro untuk menyokong).

Penting! Jika Docker Desktop melaporkan penyekatan oleh tembok api, pergi ke tetapan antivirus dan buat perubahan berikut pada peraturan tembok api (dalam contoh ini, Kaspersky Total Security digunakan sebagai antivirus):

  • Pergi ke Tetapan -> Keselamatan -> Firewall -> Konfigurasikan peraturan paket -> Perkhidmatan Tempatan (TCP) -> Edit
  • Alih keluar port 445 daripada senarai port tempatan
  • Mengekalkan

Selepas memulakan Desktop Docker, pilih WSL 2 Tech Preview daripada menu konteksnya.

Pembangunan dengan Docker pada Windows Subsystem untuk Linux (WSL)

Dalam tetingkap yang terbuka, klik butang Mula.

Pembangunan dengan Docker pada Windows Subsystem untuk Linux (WSL)

Docker dan docker-compose kini tersedia dalam pengedaran WSL.

Penting! Desktop Docker yang dikemas kini kini mempunyai tab dengan WSL di dalam tetingkap tetapan. Sokongan WSL didayakan di sana.

Pembangunan dengan Docker pada Windows Subsystem untuk Linux (WSL)

Penting! Selain kotak semak pengaktifan WSL, anda juga perlu mengaktifkan pengedaran WSL anda dalam tab Resources->WSL Integration.

Pembangunan dengan Docker pada Windows Subsystem untuk Linux (WSL)

Pelancaran

Apa yang tidak dijangka adalah banyak masalah yang timbul apabila cuba mengangkat bekas projek yang terletak dalam direktori pengguna Windows.

Ralat pelbagai jenis yang berkaitan dengan pelancaran skrip bash (yang biasanya bermula apabila membina bekas untuk memasang perpustakaan dan pengedaran yang diperlukan) dan perkara lain yang biasa untuk pembangunan di Linux membuatkan kami berfikir tentang meletakkan projek terus dalam direktori pengguna Ubuntu 18.04.

.

Daripada penyelesaian kepada masalah sebelumnya, perkara berikut berikut: cara bekerja dengan fail projek melalui IDE yang dipasang pada Windows. Sebagai "amalan terbaik", saya mendapati hanya satu pilihan untuk diri saya sendiri - bekerja melalui VSCode (walaupun saya peminat PhpStorm).

Selepas memuat turun dan memasang VSCode, pastikan anda memasangnya dalam sambungan Pek sambungan Pembangunan Jauh.

Selepas memasang sambungan yang disebutkan di atas, hanya jalankan arahan code . dalam direktori projek apabila VSCode sedang berjalan.

Dalam contoh ini, nginx diperlukan untuk mengakses bekas melalui penyemak imbas. Pasang melalui sudo apt-get install nginx Ia ternyata tidak begitu mudah. Pertama, kami perlu mengemas kini pengedaran WSL dengan menjalankan sudo apt update && sudo apt dist-upgrade, dan hanya selepas itu mulakan pemasangan nginx.

Penting! Semua domain tempatan didaftarkan bukan dalam fail /etc/hosts bagi pengedaran Linux (ia tidak ada di sana), tetapi dalam fail hos (biasanya terletak C:WindowsSystem32driversthosts) Windows 10.

sumber

Penerangan yang lebih terperinci tentang setiap langkah boleh didapati di sini:

Sumber: www.habr.com

Tambah komen