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

Doker di Windows? Mulailah Belajar Sekarang Atau…!

Jika Anda baru mengenal container dan Docker dan bekerja terutama di Windows, Anda siap menerima hadiah. Dalam artikel ini, Anda akan mempelajari cara mengatur Docker di Windows 10 menggunakan Docker Desktop untuk Windows atau cukup disebut sebagai Desktop Docker dalam artikel ini.

Docker Desktop adalah Docker Engine dan klien manajemen yang dikemas bersama agar mudah digunakan di Windows 10. Dalam artikel ini, Anda akan menginstal Docker Desktop, menyebarkan container pertama Anda, dan berbagi data antara host dan container Anda.

Prasyarat untuk Docker di Windows

Ini adalah artikel panduan yang menunjukkan berbagai langkah di Docker Desktop untuk Docker di Windows. Untuk mengikuti, pastikan Anda memiliki beberapa persyaratan khusus terlebih dahulu.

  • Sambungan internet untuk mengunduh 800MB+ data
  • Windows 10 64-bit menjalankan edisi Pro, Enterprise, atau Education dengan rilis 1703 atau yang lebih baru. Ini diperlukan untuk menjalankan Hyper-V di Windows 10.
  • CPU dengan kompatibilitas SLAT (bersarang paging). Semua prosesor AMD/Intel sejak sekitar tahun 2008 kompatibel dengan SLAT
  • RAM minimal 4 GB
  • Virtualisasi perangkat keras BIOS terkadang diberi label sebagai Teknologi Virtualisasi atau VTx . Ini harus diaktifkan dan ditampilkan sebagai Diaktifkan di tab kinerja Pengelola Tugas seperti yang ditunjukkan di bawah ini.

Mengunduh dan Memasang Desktop Docker

Pertama, Anda perlu mengunduh dan menginstal Docker Desktop untuk menjalankan Docker di Windows. Docker Desktop tersedia dalam dua rilis; rilis stabil dan rilis pengujian.

Rilis stabil dirilis setiap tiga bulan dan memastikan aplikasi yang sepenuhnya teruji. Dalam artikel ini, Anda akan menggunakan rilis stabil.

Peringatan:Setelah instalasi, Docker Desktop akan meminta Anda untuk menginstal hypervisor Hyper-V jika belum diinstal. Dengan melakukannya, hypervisor Hyper-V mencegah hypervisor mode pengguna seperti VirtualBox, VMWare, dll. dari menjalankan VM tamu. Dukungan Hyper-V untuk VirtualBox dan VMWare terbatas tetapi akan datang.

Anda juga memiliki opsi sumber unduhan dengan mengunduh Docker Desktop secara manual langsung dari Docker.com atau melalui pengelola paket Windows, Chocolatey. Mari kita bahas secara singkat setiap metode.

Dari Docker.com

Untuk mengunduh Docker Desktop langsung dari docker.com, Anda dapat membuka halaman produk, mendaftar akun, dan mengunduhnya dari sana. Ini lebih disukai jika Anda ingin menggunakan Docker dalam produksi dengan mendaftarkan akun.

Namun, jika Anda baru menguji Docker untuk pertama kalinya, Anda juga dapat mengunduhnya secara langsung yang jauh lebih mudah.

Setelah EXE diunduh, jalankan yang dapat dieksekusi dan klik melalui petunjuk yang menerima semua default.

Saat ditanya apakah Anda berencana untuk Menggunakan wadah Windows daripada wadah Linux , seperti yang ditunjukkan di bawah ini, jangan jangan aktifkan kotak centang. Anda akan menggunakan wadah Linux dalam artikel ini.

Setelah instalasi selesai, reboot komputer Anda.

Memilih opsi untuk menggunakan wadah Windows atau wadah Linux memberitahu Docker untuk melampirkan gambar ke kernel Windows atau kernel Linux. Anda dapat mengubah pengaturan ini kapan saja setelah penginstalan dengan mengklik kanan ikon Docker di System Tray dan memilih Switch to Windows containers seperti yang ditunjukkan di bawah ini.

Menggunakan Cokelat

Opsi lain untuk mengunduh dan menginstal Docker Desktop adalah dengan Chocolatey. Chocolatey mengotomatiskan banyak tugas unduhan/instal untuk Anda. Untuk melakukannya, buka konsol baris perintah (cmd atau PowerShell) sebagai administrator untuk mengunduh dan menginstal program dalam satu kesempatan dengan menjalankan perintah di bawah ini.

choco install docker-desktop

Setelah selesai, reboot Windows 10.

Jika Anda ingin mencoba rilis pengujian di beberapa titik, Anda dapat mengunduh dan menginstal ini dengan menjalankan choco install docker-desktop --pre .

Memvalidasi Instalasi Desktop Docker

Setelah diinstal, Docker Desktop secara otomatis berjalan sebagai layanan yang menyediakan Docker di Windows. Ini ditampilkan di baki sistem saat Anda masuk ke Windows setelah Anda reboot. Tapi bagaimana Anda benar-benar tahu itu berhasil?

Untuk memvalidasi Docker Desktop berfungsi dengan benar, buka konsol baris perintah dan jalankan docker memerintah. Jika penginstalan berjalan dengan baik, Anda akan melihat referensi perintah Docker.

Terakhir, minta Docker mengunduh dan menjalankan contoh gambar wadah bernama hello-world dengan menjalankan perintah docker run hello-world . Jika semuanya baik-baik saja, Anda akan melihat output seperti di bawah ini.

Menjalankan Perintah di Kontainer Docker

Docker Desktop diinstal dan Anda telah memverifikasi semuanya baik-baik saja? Sekarang apa? Untuk memulai Docker di Windows, satu tugas umum yang harus dilakukan dalam wadah Docker adalah menjalankan perintah. Melalui docker run perintah, Anda dapat mengirim perintah melalui host (PC Windows 10 Anda) langsung ke container yang sedang berjalan.

Untuk menjalankan perintah dalam wadah dengan docker run , Anda pertama-tama akan menentukan nama gambar diikuti dengan perintah. Untuk memulai, beri tahu Docker untuk menjalankan perintah hostname di dalam wadah bernama alpine seperti yang terlihat di bawah ini.

> docker run alpine hostname
b74ff46601af

Karena Anda tidak memiliki alpine Gambar Docker di komputer Anda sekarang, Docker di Windows akan mengunduh gambar kecil dari Docker Hub, membuka wadah dari gambar itu, dan mengirim perintah langsung ke wadah dan mematikan semuanya dalam satu gerakan.

Jika Anda ingin container tetap berjalan, Anda juga dapat menggunakan -it parameter. Parameter ini memberi tahu Docker untuk menjaga wadah dalam "mode interaktif" membiarkannya berjalan di latar depan setelah menjalankan perintah. Anda akan melihat bahwa Anda kemudian disajikan dengan prompt terminal yang siap digunakan.

> docker run -it alpine sh
/ #

Setelah selesai di terminal, ketik exit untuk kembali ke Windows 10.

Mengakses File dari Host Docker di Container

Tugas umum lainnya adalah mengakses file host dari container. Untuk mengakses file host dalam wadah, Docker di Windows memungkinkan Anda menautkan jalur folder dari desktop Anda untuk membagikan folder itu ke wadah Anda. Proses ini disebut mengikat .

Untuk membuat penjilidan, buat folder di drive lokal. Untuk contoh ini, saya akan menggunakan E:\ dan beri nama input. Kemudian akan membuat dokumen teks baru bernama file.txt dalam folder. Jangan ragu untuk menggunakan jalur dan file apa pun yang Anda inginkan.

Setelah Anda memiliki folder yang ingin Anda bagikan antara host dan container, Docker perlu memasang folder menggunakan --mount parameter. --mount parameter membutuhkan tiga argumen; tipe mount, jalur direktori host sumber dan jalur direktori target. Jalur target akan menjadi tautan simbolis di dalam penampung.

Di bawah ini Anda akan melihat contoh pemasangan seluruh E:\ dalam host Windows 10 untuk ditampilkan sebagai /home/TEST direktori di dalam wadah Linux.

> docker run --mount type=bind,source="E:/",target=/home/TEST -it alpine

Saat Anda mencoba memasang folder host, Docker Desktop akan meminta izin Anda untuk membagikan drive ini dengan wadah Docker seperti yang terlihat di bawah ini.

Jika Anda membuat file.txt file di folder Windows 10 seperti yang dijelaskan sebelumnya, jalankan cat /home/TEST/input/file.txt . Anda akan melihat konten yang ditampilkan.

Sekarang, hapus input folder yang baru saja Anda buat dan jalankan cat ... perintah lagi. Perhatikan bahwa shell sekarang melaporkan bahwa file tersebut tidak ada lagi.

Memetakan Port Jaringan

Konsep penting lainnya yang perlu diketahui adalah bagaimana Docker di Windows menangani jaringan. Untuk pengenalan singkat, mari kita lihat apa yang diperlukan untuk mengakses layanan web yang berjalan dalam wadah dari host lokal.

Pertama, putar gambar demo yang akan menjalankan halaman web contoh. Unduh dan jalankan image Docker bernama dockersamples/static-site . Anda akan menggunakan docker container run untuk melakukannya.

Perintah berikut melakukan empat tindakan sekaligus:

  • Mengunduh gambar Docker dari Docker Hub yang disebut situs statis di sampel buruh pelabuhan “direktori”
  • Memulai instance container dari situs-statis gambar
  • Segera lepaskan wadah dari latar depan terminal (—detach )
  • Membuat port jaringan container yang berjalan dapat diakses oleh host Windows 10 (—publish-all )
docker container run --detach --publish-all dockersamples/static-site
## Alternate/shorthand syntax that does the same thing:
## docker container run -d -P dockersamples/static-site
## docker run -d -P dockersamples/static-site

Setelah dijalankan, Docker akan mengembalikan ID container yang dimunculkan seperti gambar di bawah ini.

Menerbitkan Port Jaringan

Sejak menggunakan --publish-all parameter, port host lokal sekarang dipetakan ke tumpukan jaringan penampung. Anda dapat menggunakan docker ps subcommand untuk membuat daftar semua container yang sedang berjalan termasuk port yang ditetapkan ke semua container yang sedang berjalan. Dalam contoh di bawah, satu kontainer menjalankan pemetaan port host 32777 ke port kontainer 80 dan port host 32776 ke port kontainer 443.

Docker di Windows memberikan wadah port acak saat menggunakan --publish-all parameter kecuali secara eksplisit mendefinisikannya.

Sekarang buka browser web dan navigasikan ke http://localhost:32777 atau port yang ditetapkan Docker untuk dipetakan ke port 80 sebagai output oleh docker ps . Jika semuanya berjalan dengan baik, Anda akan melihat halaman web di bawah ini muncul.

Mengubah Port yang Diterbitkan

Anda sekarang memiliki wadah Docker yang berjalan di Docker pada Windows yang menyajikan halaman web sederhana. Selamat! Tetapi sekarang Anda perlu menentukan pengikatan port tertentu yang tidak bergantung pada pemilihan port acak dengan --publish-all . Tidak masalah. Gunakan -p parameter.

Pertama, hentikan container yang sedang berjalan dengan menentukan string unik ID containernya. Anda dapat menemukan ID penampung ini dengan menjalankan docker ps . Setelah Anda mengetahui ID penampung, hentikan penampung dan mulai yang baru sambil menunjuk Docker untuk menetapkan port tertentu untuk dipublikasikan.

Sintaks untuk menentukan port adalah <external port>:<container port> . Untuk setiap port yang ingin Anda publikasikan, gunakan --publish atau -p beralih dengan nomor port eksternal dan kontainer seperti yang ditunjukkan di bawah ini.

> docker stop f766
> docker run --detach -p 1337:80 dockersamples/static-site

Saat Anda menentukan ID penampung, Anda hanya perlu mengetik ID yang cukup untuk menjadi unik. Jika Anda hanya menjalankan satu wadah dan ID-nya adalah f766f4ac8d66bf7 , Anda dapat mengidentifikasi penampung menggunakan sejumlah karakter termasuk hanya f . Persyaratannya adalah apa pun yang Anda ketik memungkinkannya mengidentifikasi satu wadah secara unik.

Sekarang buka browser web Anda dan navigasikan ke localhost:1337 . Ingat, Anda tidak mengubah gambar dan selalu mendengarkan pada port 80; Anda mengubah aturan terjemahan port dalam konfigurasi Docker yang memungkinkan Anda terhubung ke container.

Menghentikan semua Container

Menggunakan docker stop , Anda dapat menghentikan sebuah wadah tetapi bagaimana Anda menghentikan beberapa wadah sekaligus? Salah satu cara untuk melakukannya adalah dengan menyediakan beberapa ID penampung yang dibatasi ruang. Anda dapat melihat di bawah ini contoh cara menghentikan tiga kontainer dengan ID fd50b0a446e7 , 36ee57c3b7da , dan 7c45664906ff.

> docker stop fd50 36ee 7c45

Jika Anda mengelola wadah Docker di PowerShell, Anda juga dapat menggunakan pintasan untuk menghentikan semua wadah. Umpankan daftar ID penampung melalui docker ps -q ke parameter stop melalui ekspansi perintah PowerShell docker stop (docker ps -q) .

Konfirmasikan semua kontainer dihentikan dengan melihat tidak ada kontainer yang terdaftar saat Anda mengetik docker ps .

Membersihkan

Anda telah mengunduh beberapa gambar wadah dan menjalankan beberapa wadah yang sekarang dihentikan. Meskipun dihentikan, penyimpanan yang dialokasikan tidak hilang dari disk host lokal. Anda harus menghapus wadah untuk mengosongkan ruang tersebut dan menghindari mengacaukan ruang kerja Anda.

Untuk menghapus satu wadah, gunakan wadah hapus rm parameter seperti di bawah ini.

> docker container rm <container ID>

Atau, untuk menghapus semua container yang dihentikan, gunakan prune parameter seperti di bawah ini.

> docker container prune

Docker
  1. Membuat Wadah Server Windows Docker Pertama Anda

  2. Mulai dengan Server Cloud

  3. Mempelajari Perl, tetapi bagaimana cara mendapatkan 5.14 di Windows?

  1. Memulai NetworkManager di Linux

  2. Bagaimana Memulai Dengan Juju?

  3. Cara Mendapatkan Informasi Tentang Kontainer Di Docker

  1. 10 cara untuk memulai dengan Linux

  2. Volume Docker:Cara Membuat &Memulai

  3. Belajar Docker:Cara Membuat Wadah Docker