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

Kontainer Docker dan Linux di Windows, dengan atau tanpa Mesin Virtual Hyper-V

Wadah itu indah, jika Anda belum pernah mendengarnya. Mereka adalah cara yang bagus dan bersih untuk mendapatkan penerapan yang andal dan terjamin, apa pun sistem hostnya.

Jika saya ingin menjalankan aplikasi ASP.NET Core saya, saya cukup mengetik "docker run -p 5000:80 shanselman/demos" di baris perintah, dan itu akan mulai! Saya tidak khawatir itu tidak akan berjalan. Ini akan berjalan, dan berjalan dengan baik.

Beberapa penentang kontainer mengatakan, tentu, kita bisa melakukan hal yang sama dengan Mesin Virtual, tetapi bahkan hari ini, VHD (hard drive virtual) agak sulit diatur dan mencakup banyak overhead yang tidak dimiliki kontainer. Penampung sedang berlangsung dan Anda harus memperhatikannya dengan cermat untuk penerapan Anda.

Secara historis pada Windows, bagaimanapun, Linux Containers berjalan di dalam mesin virtual Hyper-V. Ini bisa menjadi hal yang baik atau buruk, tergantung pada apa tujuan Anda. Menjalankan Container di dalam VM memberi Anda isolasi yang signifikan dengan beberapa overhead. Ini bagus untuk Server tetapi kurang untuk laptop saya. Docker untuk Windows menyembunyikan VM untuk sebagian besar, tetapi ada di sana. Container Anda berjalan di dalam VM Linux yang berjalan dalam Hyper-V di Windows.

Dengan versi terbaru Windows 10 (atau 10 Server) dan beta Docker untuk Windows, ada dukungan Linux Container asli di Windows. Itu berarti tidak ada Mesin Virtual atau Hyper-V yang terlibat (kecuali jika Anda mau), jadi Wadah Linux berjalan di Windows sendiri menggunakan dukungan wadah bawaan Windows 10.

Untuk saat ini Anda harus mengganti "mode" antara Hyper V dan Container asli, dan Anda tidak dapat (belum) menjalankan Linux dan Windows Containers secara berdampingan. Kata di jalan adalah bahwa ini hanya masalah waktu, dan bahwa Docker pada titik tertentu akan mendukung menjalankan Linux dan Windows Containers secara paralel. Itu cukup manis karena membuka semua jenis skenario hibrida yang keren. Saya dapat menjalankan wadah Windows Server dengan aplikasi .NET Framework ASP.NET yang berbicara dengan wadah Linux yang menjalankan Redis atau Postgres. Saya kemudian dapat memasukkan semuanya ke dalam Kubernetes di Azure, misalnya.

Setelah saya mengaktifkan Wadah Linux di Windows di dalam Docker, semuanya berfungsi dan hanya memiliki satu bagian yang kurang bergerak.

Saya dapat dengan mudah dan cepat menjalankan busybox atau Ubuntu asli (walaupun Windows 10 sudah mendukung Ubuntu secara native dengan WSL):

Lebih bermanfaat bahkan adalah menjalankan Azure Command Line tanpa menginstal! Cukup "docker run -it microsoft/azure-cli" dan itu berjalan di Wadah Linux.

Aku bahkan bisa lari nyancat! (Terima kasih Thomas!)

docker run -it supertest2014/nyan

Berspekulasi - Saya menantikan hari saya dapat menjalankan "minikube start --vm-driver="windows" (atau sesuatu) dan dengan mudah mengatur sistem pengembangan Kubernetes secara lokal menggunakan dukungan Windows Linux Container daripada menggunakan Mesin Virtual Hyper-V , jika saya mau.

Sponsor: Mengapa kehilangan versi yang mengendalikan database Anda? Ini lebih mudah daripada yang Anda pikirkan karena SQL Source Control menghubungkan database Anda ke alat kontrol versi yang sama yang Anda gunakan untuk aplikasi. Mencari tahu bagaimana.

Docker
  1. Apa itu Docker (dan wadah Linux?)

  2. Jalankan Perangkat Lunak Windows dengan Mudah di Linux dengan Botol

  3. Quickemu – Jalankan Mesin Virtual Windows, macOS, dan Linux

  1. Jalankan container di Linux tanpa Sudo di Podman

  2. Portainer:Gui yang mudah digunakan untuk menjalankan dan mendapatkan wadah buruh pelabuhan

  3. Pengantar Kontainer Docker

  1. Memantau host Linux dan Windows dengan Glances

  2. Cara Menginstal Ubuntu di Windows dengan Hyper-V

  3. Cara Menginstal Docker dan Menjalankan Wadah Docker di Ubuntu