GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Cara mengatur Docker dalam Sistem Windows untuk Linux (WSL2) di Windows 10

Saya telah menulis tentang WSL2 dan itu adalah keajaiban yang luar biasa berkali-kali. Saat rilisnya (mungkin) semakin dekat - pada tulisan ini ada di Windows Insiders Lambat dan Cepat - saya ingin memperbarui beberapa posting. Saya telah membuat blog tentang beberapa hal keren seputar WSL dan Docker

  • Desktop Docker untuk WSL 2 mengintegrasikan Windows 10 dan Linux lebih dekat
  • Men-debug jarak jauh aplikasi .NET Core Linux di WSL2 dari Visual Studio di Windows
  • Tips dan trik keren WSL (Windows Subsystem for Linux) yang mungkin tidak Anda (atau saya) ketahui
  • Ruby on Rails di Windows tidak hanya mungkin, ini luar biasa menggunakan WSL2 dan VS Code
  • Pindahkan distribusi WSL dengan mudah antara mesin Windows 10 dengan impor dan ekspor!
  • Apa perbedaan antara konsol, terminal, dan shell?

Berikut sedikit HanselFAQ dan beberapa sumber daya.

Saya ingin menjalankan Linux di Windows

Anda tentu dapat menggunakan HyperV atau VirtualBox dan menjalankan Mesin Virtual standar. Unduh ISO dan pasang dan jalankan "kotak di dalam kotak." Ini tidak akan terintegrasi dengan mulus di dalam Windows - akan seperti film Inception - tetapi telah teruji oleh waktu.

Lebih baik lagi, instal WSL atau WSL2. Ini akan memakan waktu 5-10 menit jika Windows 10 Anda agak mutakhir.

  • Cara menginstal WSL di Windows 10
    • WSL tidak menyertakan kernel Linux. Akses sistem file Linux-nya agak lambat, tetapi mengakses file Windows dengan sangat cepat. Jika Anda menggunakan Cygwin, Anda akan menyukai ini, karena ini benar-benar Linux, hanya kernel yang diemulasi.
  • Cara menginstal WSL2 di Windows 10
    • WSL2 mengirimkan kernel Linux yang sebenarnya dan sistem file Linux-nya 5x-10x lebih cepat daripada WSL. WSL2 menggunakan VM utilitas kecil yang memperluas kontrak memorinya dan Anda dapat mengelola distro dengan baris perintah wsl.
    • Lakukan semua pekerjaan pengembangan Anda di dalam sini, sambil tetap menggunakan VS Code di Windows. Ini menakjubkan. Tonton saya menyiapkan teman dengan WSL2, LANGSUNG di YouTube.

Saya ingin memasukkan SSH ke Linux dari Windows

Ada 15 tahun situs web yang memberi tahu Anda untuk menginstal Putty tetapi Anda mungkin tidak membutuhkannya. OpenSSH telah dikirimkan di Windows 10 selama lebih dari dua tahun. Anda dapat menambahkannya dengan Fitur Windows, atau jika Anda suka, ambil rilis dan letakkan di PATH Anda.

Anda juga dapat melakukan hal-hal seperti mengatur kunci untuk menggunakan OpenSSH bawaan Windows 10 untuk secara otomatis SSH ke mesin Linux jarak jauh. Saya juga ingin menyiapkan Signed Git Commits dengan YubiKey NEO dan GPG dan Keybase di Windows.

Saya membutuhkan Terminal yang lebih baik di Windows

Terminal Windows baru adalah untuk Anda. Unduh Terminal Windows sekarang secara gratis. Ini sumber terbuka. Anda kemudian dapat menjalankan ssh Win64/Win32 dari atas, atau menjalankan SSH distro Linux apa pun. Selamat bersenang-senang. Saatnya.

CATATAN:Apakah Anda sudah mengunduh Terminal, mungkin beberapa waktu lalu? Cukup telah berubah sehingga Anda harus menghapus profiles.json Anda dan memulai dari awal.

Anda dapat mengunduh Terminal Windows dari Microsoft Store atau dari halaman rilis GitHub. Ada juga rilis Chocolatey tidak resmi. Saya merekomendasikan versi Store jika memungkinkan.

Prompt dan font saya jelek

Buat mereka cantik. Kamu pantas mendapatkan yang terbaik. Dapatkan CascadiaPL.ttf dan PowerLine dari Cascadia Code dan kencangkan buttercup. Dapatkan tema yang bagus dan mungkin latar belakang GIF.

Saya ingin menggunakan Docker di Windows dan saya ingin itu tidak payah

Kejutan, itu benar-benar luar biasa. Anda mungkin memiliki beberapa tantangan dengan Docker beberapa tahun yang lalu di Windows dan menyerah, tetapi kembalilah. Ada arsitektur Docker yang besar (dan menarik) di Windows. Ini terintegrasi dengan sangat baik jika Anda memiliki WSL2.

Jika Anda telah mengatur WSL2 dengan baik, dapatkan Docker Desktop WSL2. Versi Docker untuk Windows ini menggunakan WSL2 sebagai mesinnya yang memungkinkan Anda untuk berbagi konteks buruh pelabuhan Anda di Windows dan Linux di mesin yang sama! Seperti yang diinginkan pembuatnya!

WSL 2 memperkenalkan perubahan arsitektur yang signifikan karena merupakan kernel Linux lengkap yang dibangun oleh Microsoft, memungkinkan wadah Linux untuk berjalan secara asli tanpa emulasi. Dengan Docker Desktop yang berjalan di WSL 2, pengguna dapat memanfaatkan ruang kerja Linux dan menghindari keharusan memelihara skrip build Linux dan Windows.

Jadi itu artinya

  1. Instal Windows 10 Insider Preview build 19018 atau lebih tinggi
  2. Aktifkan fitur WSL 2 di Windows. Untuk petunjuk rinci, lihat dokumentasi Microsoft.
  3. Unduh Docker Desktop Edge 2.1.6.0 atau rilis yang lebih baru.

Pastikan instans WSL default Anda adalah WSL2. Anda dapat melakukannya dengan wsl -l -v , lalu wsl --set-version  <distro> 2

Kemudian di dalam Docker Desktop untuk Windows Anda memiliki dua hal untuk diperiksa. Pertama, apakah Anda menggunakan WSL2 sebagai backend Anda?

Dan kemudian, pengaturan yang sering terlewatkan, periksa di bawah Sumberdaya | Integrasi WSL dan beri tahu Docker distro WSL2 mana yang ingin Anda gunakan untuk mengakses Docker. Jika Anda memperhatikan, Anda mungkin memperhatikan bahwa Docker Desktop mencoba meminta Anda dengan pemberitahuan di Pusat Tindakan, tetapi Anda mungkin melewatkannya.

CATATAN:Jika Anda menggunakan Pratinjau Teknologi awal, Anda mungkin memiliki konteks Docker tambahan yang sekarang bernama "wsl." Anda ingin menggunakan yang Default, bukan yang WSL.

Ini tidak intuitif atau jelas dan Anda mungkin mendapatkan kesalahan aneh seperti ini

docker wsl open //./pipe/docker_wsl: The system cannot find the file specified.

atau

error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_wsl/v1.40/images/json?all=1: open //./pipe/docker_wsl: The system cannot find the file specified.

Anda dapat melihat apakah Anda memiliki konteks tambahan dari sebelumnya seperti di bawah ini. Yang "wsl" itu lebih lama (jika Anda memilikinya) dan Anda ingin menggunakan default di Windows dan WSL2.

docker context ls
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT
default * Current DOCKER_HOST based configuration npipe:////./pipe/docker_engine https://kubernetes.docker
wsl Docker daemon hosted in WSL 2 npipe:////./pipe/docker_wsl

Saya benar-benar menghapus yang itu untuk menghindari kebingungan dengan docker context rm wsl .

Ini Ubuntu di mesin Windows saya

Dan inilah mesin Windows saya. Perhatikan bahwa gambar buruh pelabuhan di kedua contoh mengembalikan daftar yang sama. Mereka adalah backend Docker yang sama!

Saya ingin membuat kode dalam VS Code di Windows tetapi mengkompilasi di Linux

Pada titik ini setelah saya mengatur segalanya, saya bisa pergi pisang. Saya dapat melakukan pengembangan berbasis Kontainer, di mana saya menggunakan Kode VS untuk menjalankan semua alat pengembang saya dan membangun wadah di dalam...mungkin saya tidak pernah menginstal Go atau PHP atau .NET Core. Semuanya hanya di dalam wadah.

Omong-omong, silakan Berlangganan ke YouTube saya! Saya berbicara banyak tentang hal ini di sana.

Sponsor: Couchbase memberi pengembang kekuatan SQL dengan fleksibilitas JSON. Mulai gunakan hari ini secara gratis dengan teknologi termasuk Kubernetes, Java, .NET, JavaScript, Go, dan Python.


Docker
  1. Cara Mengatur atau Mengubah Nama Host Sistem di Linux

  2. Subsistem Windows untuk Linux Dijelaskan, WSL &WSL2

  3. Cara Instal Docker di AlmaLinux / Rocky Linux

  1. Cara menggunakan systemd-nspawn untuk pemulihan sistem Linux

  2. Cara mengatur OpenCL untuk GPU di Linux dan Docker [Panduan Lengkap]

  3. Bagaimana cara mengatur ukuran penunjuk mouse X di Subsistem Windows untuk Linux

  1. Cara menginstal Docker di sistem Fedora Linux

  2. Cara Menginstal WordPress di Docker (Windows, macOS dan Linux)

  3. Cara mengatur judul jendela di Linux