Pengembangan dengan Docker pada Subsistem Windows untuk Linux (WSL)

Pengembangan dengan Docker pada Subsistem Windows untuk Linux (WSL)

Untuk sepenuhnya bekerja dengan proyek Docker di WSL, Anda harus menginstal WSL 2. Pada saat penulisan, penggunaannya hanya dimungkinkan sebagai bagian dari partisipasi dalam program Windows Insider (WSL 2 tersedia di build 18932 dan lebih tinggi). Perlu juga disebutkan secara terpisah bahwa versi Windows 10 Pro diperlukan untuk menginstal dan mengkonfigurasi Docker Desktop.

Langkah Pertama

Setelah bergabung dengan program Insider dan menginstal pembaruan, Anda perlu menginstal distribusi Linux (Ubuntu 18.04 dalam contoh ini) dan Docker Desktop dengan WSL 2 Tech Preview:

  1. Pratinjau Teknologi Docker Desktop WSL 2
  2. Ubuntu 18.04 dari Windows Store

Pada kedua titik tersebut kami mengikuti semua instruksi instalasi dan konfigurasi.

Menginstal distribusi Ubuntu 18.04

Sebelum menjalankan Ubuntu 18.04, Anda harus mengaktifkan Windows WSL dan Windows Virtual Machine Platform dengan menjalankan dua perintah di PowerShell:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux (membutuhkan restart komputer)
  2. Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Setelah itu kita perlu memastikan bahwa kita akan menggunakan WSL v2. Untuk melakukannya, di terminal WSL atau PowerShell, jalankan perintah berikut:

  • wsl -l -v β€” lihat versi mana yang sedang diinstal. Jika 1, maka kita bergerak lebih jauh ke bawah daftar
  • wsl --set-version ubuntu 18.04 2 - untuk memperbarui ke versi 2
  • wsl -s ubuntu 18.04 β€” instal Ubuntu 18.04 sebagai distribusi default

Sekarang Anda dapat memulai Ubuntu 18.04 dan mengkonfigurasinya (tentukan nama pengguna dan kata sandi Anda).

Menginstal Desktop Docker

Ikuti instruksi selama proses instalasi. Komputer akan memerlukan restart setelah instalasi dan pada startup pertama untuk mengaktifkan Hyper-V (yang memerlukan dukungan Windows 10 Pro).

Penting! Jika Docker Desktop melaporkan pemblokiran oleh firewall, buka pengaturan antivirus dan buat perubahan berikut pada aturan firewall (dalam contoh ini, Kaspersky Total Security digunakan sebagai antivirus):

  • Buka Pengaturan -> Keamanan -> Firewall -> Konfigurasikan aturan paket -> Layanan Lokal (TCP) -> Edit
  • Hapus port 445 dari daftar port lokal
  • Menahan

Setelah memulai Docker Desktop, pilih WSL 2 Tech Preview dari menu konteksnya.

Pengembangan dengan Docker pada Subsistem Windows untuk Linux (WSL)

Di jendela yang terbuka, klik tombol Mulai.

Pengembangan dengan Docker pada Subsistem Windows untuk Linux (WSL)

Docker dan docker-compose sekarang tersedia dalam distribusi WSL.

Penting! Docker Desktop yang diperbarui sekarang memiliki tab dengan WSL di dalam jendela pengaturan. Dukungan WSL diaktifkan di sana.

Pengembangan dengan Docker pada Subsistem Windows untuk Linux (WSL)

Penting! Selain kotak centang aktivasi WSL, Anda juga perlu mengaktifkan distribusi WSL Anda di tab Sumber Daya->Integrasi WSL.

Pengembangan dengan Docker pada Subsistem Windows untuk Linux (WSL)

Luncurkan

Yang tidak disangka-sangka adalah banyaknya masalah yang muncul saat mencoba mengangkat container proyek yang terletak di direktori pengguna Windows.

Berbagai jenis kesalahan yang terkait dengan peluncuran skrip bash (yang biasanya dimulai saat membuat wadah untuk menginstal perpustakaan dan distribusi yang diperlukan) dan hal-hal lain yang umum untuk pengembangan di Linux membuat kami berpikir untuk menempatkan proyek langsung di direktori pengguna Ubuntu 18.04.

.

Dari penyelesaian masalah sebelumnya adalah sebagai berikut: cara bekerja dengan file proyek melalui IDE yang diinstal pada Windows. Sebagai "praktik terbaik", saya hanya menemukan satu opsi untuk diri saya sendiri - bekerja melalui VSCode (meskipun saya adalah penggemar PhpStorm).

Setelah mengunduh dan menginstal VSCode, pastikan untuk menginstalnya di ekstensi Paket ekstensi Pengembangan Jarak Jauh.

Setelah menginstal ekstensi yang disebutkan di atas, jalankan saja perintahnya code . di direktori proyek saat VSCode berjalan.

Dalam contoh ini, nginx diperlukan untuk mengakses container melalui browser. Instal melalui sudo apt-get install nginx Ternyata tidak sesederhana itu. Pertama, kami perlu memperbarui distribusi WSL dengan menjalankannya sudo apt update && sudo apt dist-upgrade, dan baru setelah itu mulai instalasi nginx.

Penting! Semua domain lokal terdaftar bukan di file /etc/hosts distribusi Linux (bahkan tidak ada di sana), tetapi di file host (biasanya terletak di C:WindowsSystem32driversetchosts) Windows 10.

sumber

Penjelasan lebih rinci dari setiap langkah dapat ditemukan di sini:

Sumber: www.habr.com

Tambah komentar