Learning Docker, Bagian 5: Perintah

Bagian hari ini dari seri Docker, yang kami terbitkan, didedikasikan untuk tim Docker. Dokumentasi Docker berisi uraian terperinci tentang banyak sekali perintah, tetapi seseorang yang baru mulai bekerja dengan platform ini mungkin tersesat di dalamnya, jadi inilah hampir dua lusin perintah paling penting untuk bekerja dengan Docker. Melanjutkan tradisi yang sudah mapan, kami akan membandingkan tim dengan hamburan beri.

โ†’ Bagian 1: dasar-dasarnya
โ†’ Bagian 2: istilah dan konsep
โ†’ Bagian 3: File Dockerfile
โ†’ Bagian 4: mengurangi ukuran gambar dan mempercepat perakitannya
โ†’ Bagian 5: tim
โ†’ Bagian 6: bekerja dengan data


Ulasan


Mari kita ingat bahwa gambar Docker dibuat berdasarkan file Dockerfile yang menjelaskan semua yang diperlukan untuk membuat gambar. Selain itu, jangan lupa bahwa wadah adalah gambar Docker yang digunakan untuk kehidupan. Agar dapat menggunakan perintah Docker secara efektif, pertama-tama, Anda perlu mencari tahu - apa yang Anda hadapi - dengan gambar atau dengan wadah. Jika Anda berpikir tentang gambar dan wadah, Anda dapat melihat bahwa gambar Docker dapat ada atau tidak ada. Hal yang sama dapat dikatakan untuk kontainer Docker. Kontainer Docker yang ada, di samping itu, bisa dalam keadaan operasional atau dalam keadaan tidak aktif.

Setelah Anda mengetahui dengan tepat apa yang perlu Anda kerjakan, Anda dapat menemukan tim yang tepat.

Ikhtisar Perintah Docker


Berikut adalah beberapa hal yang harus diketahui orang-orang yang ingin bekerja dengan Docker:

  • Perintah antarmuka baris perintah Docker yang digunakan untuk mengontrol sesuatu dimulai dengan kata kunci docker diikuti oleh spasi, kemudian ada indikasi apa perintah tertentu akan diarahkan ke, kemudian ruang lain, dan kemudian perintah itu sendiri mengikuti. Sebagai contoh, ini adalah bagaimana perintah seperti itu dibangun: docker container stop .
  • Jika perintah diarahkan ke gambar atau wadah tertentu, maka nama atau pengidentifikasi gambar atau wadah tersebut digunakan di dalamnya.

Misalnya, docker container run my_app adalah perintah untuk membuat dan menjalankan wadah bernama my_app . Dalam contoh di bawah ini, kami akan memanggil my_container , gambar my_image , tag my_tag , dan sebagainya.

Pertama, kita akan mempertimbangkan tim itu sendiri, lalu bendera yang dapat digunakan dengannya, jika ada bendera tersebut. Jika bendera memiliki dua tanda hubung di depannya, maka ini adalah bentuk penuhnya, bendera dengan satu tanda hubung adalah versi singkat dari bendera tertentu. Mereka bertindak dengan cara yang sama. Sebagai contoh, -p adalah bentuk disingkat dari flag --port .

Tujuan artikel ini adalah untuk memberi Anda gambaran umum tentang perintah Docker. Jadi Anda, memiliki gagasan umum tentang mereka dan mengetahui tentang fitur platform yang tersedia berkat perintah ini, dapat, jika perlu, menemukan informasi terperinci tentang mereka. Tim-tim yang dimaksud diuji pada OS keluarga Linux menggunakan mesin Docker versi 18.09.1 โ€‹โ€‹dan API versi 1.39.

Catatan Tentang Perintah yang Didukung oleh Docker CLI 1.13


Antarmuka baris perintah Docker versi 1.13 menyediakan perintah yang diperbarui dan dikelompokkan secara logis. Pada saat yang sama, tim lama masih bekerja, tetapi lebih mudah untuk menggunakan yang baru, terutama untuk pemula. Misalnya, dalam versi 1.12 perintah dari form docker create , dan dalam versi 1.13 perintah docker container create menjadi tersedia. Informasi tentang pencocokan tim lama dan baru dapat ditemukan di sini .

Pertama kita melihat perintah untuk mengelola wadah, lalu kita membahas manajemen gambar.

Perintah Manajemen Kontainer


Skema perintah umum untuk mengelola kontainer adalah sebagai berikut:

 docker container my_command 

Berikut adalah perintah yang bisa diganti di mana kami menggunakan perintah my_command :

  • create - buat wadah dari gambar.
  • start - mulai wadah yang ada.
  • run - buat wadah dan luncurkan.
  • ls - daftar wadah yang sedang berjalan.
  • inspect - tampilkan informasi terperinci tentang wadah.
  • logs - output log.
  • stop - stop container yang sedang berjalan dengan mengirimkan sinyal SIGTERM ke proses container utama, dan, setelah beberapa waktu, SIGKILL .
  • kill - hentikan wadah yang sedang berjalan dan kirim sinyal SIGKILL ke proses wadah utama.
  • rm - hapus wadah yang dihentikan.

Perintah Manajemen Gambar


Untuk manajemen gambar, perintah yang digunakan terlihat seperti ini:

 docker image my_command 

Berikut beberapa tim dalam grup ini:

  • build - membangun gambar.
  • push - kirim gambar ke registry jarak jauh.
  • ls - daftar gambar.
  • history - menampilkan informasi tentang lapisan gambar.
  • inspect - menampilkan informasi terperinci tentang gambar, termasuk informasi tentang lapisan.
  • rm - hapus gambar.

Tim yang berbeda


  • docker version - docker version informasi docker version untuk klien dan server Docker.
  • docker login - entri registri Docker.
  • docker system prune - hapus wadah, jaringan, dan gambar yang tidak digunakan yang tidak diberi nama dan tag.

Sekarang pertimbangkan perintah ini lebih terinci.

Wadah


โ– Awal keberadaan wadah


Pada tahap awal bekerja dengan kontainer, perintah create , start dan run digunakan. Mereka digunakan, masing-masing, untuk membuat wadah, untuk meluncurkannya, dan untuk membuat dan meluncurkannya.

Ini adalah perintah untuk membuat wadah dari gambar:

 docker container create my_repo/my_image:my_tag 

Pada contoh berikut, my_repo/my_image:my_tag akan disingkat menjadi my_image .
Perintah create menerima banyak flag . Misalnya, dapat ditulis dalam bentuk berikut:

 docker container create -a STDIN my_image 

Bendera -a adalah bentuk pendek dari flag --attach . Bendera ini memungkinkan Anda untuk menghubungkan wadah ke STDIN , STDOUT atau STDERR .

Setelah wadah dibuat, itu dapat diluncurkan dengan perintah berikut:

 docker container start my_container 

Harap dicatat bahwa Anda bisa merujuk ke wadah dalam perintah baik menggunakan ID atau namanya.

Sekarang lihat perintah yang memungkinkan Anda untuk membuat dan menjalankan wadah:

 docker container run my_image 

Perintah ini juga mampu menerima banyak argumen baris perintah. Pertimbangkan beberapa dari mereka dengan contoh konstruksi seperti itu:

 docker container run -i -t -p 1000:8000 --rm my_image 

Bendera -i adalah kependekan dari --interactive . Berkat bendera ini, aliran STDIN tetap terbuka meskipun wadah tidak terhubung ke STDIN .

Bendera -t adalah kependekan dari --tty . Berkat bendera ini, terminal pseudo disorot yang menghubungkan terminal yang digunakan ke wadah STDIN dan aliran STDOUT .

Agar dapat berinteraksi dengan kontainer melalui terminal, Anda harus menggunakan flag -i dan -t bersama-sama.

Bendera -p adalah kependekan dari --port . Port adalah antarmuka di mana wadah berinteraksi dengan dunia luar. Desain 1000:8000 mengalihkan port Docker 8000 ke port 1000 komputer tempat wadah beroperasi. Jika aplikasi tertentu berjalan dalam wadah yang dapat menampilkan sesuatu ke browser, maka untuk mengaksesnya, dalam kasus kami, Anda dapat pergi ke browser di localhost:1000 .

Bendera --rm secara otomatis menghapus wadah setelah selesai.

Mari kita lihat beberapa contoh lagi dari perintah run :

 docker container run -it my_image my_command 

Dalam desain seperti itu, perintah sh dapat digunakan, yang akan membuat sesi terminal dalam wadah yang dapat berinteraksi dengan melalui terminal Anda. Saat bekerja dengan gambar berdasarkan Alpine, lebih baik fokus menggunakan sh daripada bash , karena dalam gambar ini, secara default, bash tidak diinstal. Untuk keluar dari sesi interaktif, gunakan exit .

Perhatikan bahwa di sini kita menggabungkan flag -i dan -t di -it .

Berikut ini contoh lain dari bekerja dengan perintah run :

 docker container run -d my_image 

Bendera -d adalah kependekan dari --detach . Perintah ini memulai wadah di latar belakang. Ini memungkinkan Anda untuk menggunakan terminal dari mana wadah diluncurkan untuk menjalankan perintah lain saat wadah sedang berjalan.

โ–Mengonfirmasi status wadah


Jika Anda sudah menjalankan wadah Docker dan ingin tahu apa wadah-wadah ini, Anda harus mendaftarnya. Anda dapat melakukan ini dengan perintah berikut:

 docker container ls 

Perintah ini menampilkan daftar kontainer yang sedang berjalan dan memberikan daftar ini dengan beberapa informasi yang berguna tentang mereka. Berikut ini contoh lain dari perintah ini:

 docker container ls -a -s 

Switch -a dari perintah ini adalah kependekan dari --all . Dengan menggunakan tombol ini, Anda dapat menampilkan informasi tentang semua wadah, dan bukan hanya tentang yang sedang berjalan.

-s adalah singkatan untuk --size . Ini memungkinkan Anda untuk menampilkan dimensi wadah.

Berikut adalah perintah yang menampilkan informasi terperinci tentang wadah:

 docker container inspect my_container 

Berikut adalah perintah yang menampilkan log kontainer:

 docker container logs my_container 

โ– Pematian kontainer


Terkadang wadah yang berfungsi perlu dihentikan. Untuk melakukan ini, gunakan perintah berikut:

 docker container stop my_container 

Ini memungkinkan Anda untuk berhenti menjalankan wadah, memungkinkannya untuk dimatikan dengan benar. Kontainer memiliki, secara default, 10 detik untuk dimatikan.

Jika wadah harus dihentikan dengan cepat tanpa khawatir tentang penyelesaian tugasnya yang benar, Anda dapat menggunakan perintah berikut:

 docker container kill my_container 

Perintah kill , jika Anda membandingkan wadah yang berfungsi dengan TV yang dihidupkan, seperti mematikan TV dengan melepaskannya dari listrik. Oleh karena itu, dalam sebagian besar situasi, disarankan untuk menggunakan perintah berhenti untuk menghentikan kontainer.

Berikut adalah perintah yang memungkinkan Anda untuk menghentikan semua wadah yang berjalan dengan cepat:

 docker container kill $(docker ps -q) 

Untuk menghapus wadah yang dihentikan, Anda dapat menggunakan perintah berikut:

 docker container rm my_container 

Berikut adalah perintah yang memungkinkan Anda untuk menghapus semua wadah yang tidak dieksekusi pada saat memanggil perintah ini:

 docker container rm $(docker ps -a -q) 

Untuk meringkas bagian ini. Pertama, sebuah wadah dibuat, kemudian diluncurkan, atau kedua langkah ini digabungkan menggunakan perintah dari formulir docker run my_container . Setelah itu, aplikasi kemas diluncurkan.

Kemudian kontainer dihentikan dengan docker stop my_container . Untuk menghapus wadah, gunakan perintah docker rm my_container .

Sekarang mari kita bicara tentang perintah yang digunakan untuk bekerja dengan gambar, dengan template dari mana wadah dibuat.

Gambar-gambar


โ–Membuat gambar


Berikut adalah perintah yang memungkinkan Anda untuk mengumpulkan gambar Docker:

 docker image build -t my_repo/my_image:my_tag . 

Dalam hal ini, gambar dibuat dengan nama my_image ; selama perakitannya, file Dockerfile yang terletak di jalur atau URL yang ditentukan digunakan.

Bendera -t adalah kependekan dari --tag . Ini memberitahu Docker bahwa gambar yang akan dibuat harus diberi tag yang disediakan dalam perintah. Dalam hal ini, ini adalah my_tag .

Titik di akhir perintah menunjukkan bahwa gambar harus dikumpulkan menggunakan file Dockerfile yang terletak di direktori kerja saat ini.

Setelah gambar dirakit, itu dapat dikirim ke registri jarak jauh. Berkat ini, orang lain akan dapat menggunakannya, dapat diunduh dan dijalankan di komputer lain. Misalkan Anda ingin menggunakan Docker Hub . Jika demikian, Anda harus membuat akun di sana. Penggunaan sumber daya ini gratis.

Setelah mendaftar ke Docker Hub, Anda harus masuk. Dan meskipun perintah yang digunakan untuk ini tidak berlaku langsung untuk perintah yang dimaksudkan untuk bekerja dengan gambar, akan berguna untuk mempertimbangkannya di sini. Ini adalah perintah berikut:

 docker login 

Ini memungkinkan Anda untuk masuk ke akun Docker Hub Anda. Untuk masuk, Anda harus memasukkan nama pengguna dan kata sandi.

Setelah masuk, Anda dapat mengirim gambar ke registri. Ini dilakukan seperti ini:

 docker image push my_repo/my_image:my_tag 

Sekarang Anda memiliki beberapa jenis gambar, Anda dapat menjelajahinya menggunakan perintah khusus.

โ– Penelitian gambar


Berikut adalah perintah yang menampilkan daftar gambar, termasuk, termasuk informasi tentang ukurannya:

 docker image ls 

Perintah berikut memungkinkan Anda untuk menampilkan informasi tentang gambar setengah jadi yang membentuk gambar, khususnya, data tentang ukurannya dan bagaimana mereka dibuat:

 docker image history my_image 

Berikut adalah perintah yang menampilkan informasi terperinci tentang gambar, termasuk data tentang lapisan yang membentuk gambar:

 docker image inspect my_image 

Jika Anda membuat begitu banyak gambar, mungkin saja beberapa di antaranya perlu dihapus.

โ–Hapus gambar


Berikut adalah perintah yang memungkinkan Anda untuk menghapus gambar yang ditentukan:

 docker image rm my_image 

Jika gambar disimpan dalam repositori jarak jauh, itu tidak akan dihapus dari sana.

Berikut adalah perintah yang memungkinkan Anda untuk menghapus semua gambar lokal:

 docker image rm $(docker images -a -q) 

Gunakan perintah ini dengan hati-hati, tetapi harus dicatat bahwa ketika digunakan, gambar yang disimpan dalam repositori jarak jauh tidak akan dihapus. Ini adalah salah satu manfaat menyimpan gambar dalam repositori.

Kami memeriksa perintah dasar yang digunakan untuk mengelola wadah dan gambar. Sekarang mari kita bicara tentang beberapa tim lagi.

Tim yang berbeda


Berikut adalah perintah yang menampilkan informasi versi untuk klien dan server Docker:

 docker version 

Perintah ini, yang sudah diketahui oleh Anda, digunakan untuk memasukkan registri Docker:

 docker login 

Perintah ini memungkinkan Anda untuk menghapus wadah, jaringan, dan gambar yang tidak digunakan yang tidak diberi nama dan tag :

 docker system prune 

Berikut ini adalah contoh penggunaannya:

 docker system prune -a --volumes 

Switch -a adalah singkatan untuk --all , memungkinkan Anda untuk menghapus gambar yang tidak digunakan, dan bukan hanya gambar yang tidak diberi nama dan tag.

--volumes memungkinkan --volumes untuk menghapus volume yang tidak digunakan.

Ringkasan


Pada artikel ini, kami membahas perintah Docker yang berguna. Jika Anda baru mulai bekerja dengan Docker, maka Anda harus memperhatikan tiga perintah terpenting berikut ini:

Buat dan jalankan wadah:

 docker container run my_image 

Bangun gambar:

 docker image build -t my_repo/my_image:my_tag . 

Mengunggah gambar ke repositori jarak jauh:

 docker image push my_repo/my_image:my_tag 

Untuk melihat bantuan pada perintah Docker, Anda dapat menjalankan perintah docker di terminal. Di sini Anda dapat menemukan bantuan pada antarmuka baris perintah Docker.

Lain kali kita akan berbicara tentang bekerja dengan data di Docker.

Pembaca yang budiman! Jika Anda bekerja dengan Docker, maka Anda mungkin memiliki daftar perintah yang umum digunakan. Jika demikian, silakan bagikan daftar ini.

Source: https://habr.com/ru/post/id440660/


All Articles