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

Perintah [Docker] Paling Berguna Yang Harus Diketahui Semua Orang Tentang [Contoh]

Tutorial ini melanjutkan seri artikel terkait Docker dan mencakup perintah Docker yang paling sering digunakan. Kami memulai ikhtisar Docker singkat, lalu beralih ke instalasi Docker ke server Anda. Selanjutnya, kami akan memandu Anda melalui semua perintah yang diperlukan untuk mengelola container, gambar, dan volume Docker. Menjadi pengguna Docker profesional dengan mengikuti panduan ini dalam 10 menit.

Apa itu Docker

Pekerja Buruh adalah platform terbuka untuk mengembangkan, mengirim, dan menjalankan aplikasi. Ini adalah standar de facto untuk mengemas dan berbagi aplikasi – dari desktop hingga cloud.

Untuk mencapai tujuannya, Docker menggunakan container.

Wadah memiliki karakteristik sebagai berikut:

  • Wadah adalah paket untuk perangkat lunak dan semua perpustakaan yang diperlukan.
  • Segera setelah diluncurkan, container menentukan lingkungan runtime untuk aplikasi Anda.
  • Kontainer lebih ringan dari mesin virtual, sehingga bisa diluncurkan lebih cepat.
  • Sebuah wadah didistribusikan dalam bentuk gambar, yang terdiri dari beberapa lapisan. Beberapa wadah dapat menggunakan kembali lapisan ini.

Fitur di atas memungkinkan Anda untuk:

  • Bangun lingkungan yang terisolasi untuk penerapan.
  • Luncurkan aplikasi Anda dalam hitungan menit.

Docker membantu Anda menyederhanakan dan mengotomatiskan setiap langkah proses pengembangan perangkat lunak.

Berikut adalah fitur Docker yang penting:

  • Docker memiliki komunitas raksasa.
  • Docker adalah cara sederhana dan ringan untuk mendistribusikan perangkat lunak.
  • Docker memiliki gudang penyimpanan kontainer publik yang besar untuk semua tujuan yang memungkinkan.
  • Docker menurunkan biaya pengembangan dan operasi.
  • Konfigurasi Docker mudah dan cepat.
  • Docker menyediakan isolasi aplikasi.
  • Gambar Docker memiliki lapisan, yang memiliki kontrol versi.
  • Docker mengotomatiskan setiap langkah pengelolaan container.

Anda dapat menginstal Docker di sistem operasi Linux, macOS, dan Windows.

Instal Docker

Bagian ini menjelaskan cara menginstal paket Docker CE (edisi komunitas) pada sistem operasi Linux.

Jika Anda menggunakan cloud AWS, saya menyarankan artikel tentang penginstalan otomatis Docker ke instans EC2 menggunakan CloudFormation.

Instal Docker di Ubuntu/Debian

Secara default, repositori default Ubuntu atau Debian tidak berisi versi terbaru dari paket Docker CE. Jadi, Anda perlu menambahkan repositori resmi Docker CE ke sistem Anda.

Sebelum menambahkan repositori, instal beberapa dependensi yang diperlukan dengan menjalankan perintah berikut:

apt-get install apt-transport-https ca-certificates curl software-properties-common curl -y

Setelah menginstal semua dependensi, impor kunci Docker GPG menggunakan perintah berikut;

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

Selanjutnya, tambahkan repositori resmi Docker CE ke file sumber APT dengan perintah berikut:

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu  $(lsb_release -cs)  stable"

Setelah repositori ditambahkan, Anda perlu memperbarui cache repositori. Anda dapat memperbaruinya dengan perintah berikut:

apt-get update -y

Setelah repositori Anda diperbarui, jalankan perintah berikut untuk menginstal versi terbaru Docker CE ke sistem Anda.

apt-get install docker-ce -y

Perintah di atas akan menginstal paket Docker CE di sistem Anda dan memulai layanan secara otomatis.

Anda dapat memverifikasi versi Docker CE yang diinstal dengan menjalankan perintah berikut:

docker --version

Anda akan melihat Versi Docker di output berikut:

Docker version 19.03.13, build 4484c46d9d

Jika Anda ingin menghapus paket Docker dari sistem Anda, jalankan perintah berikut:

apt-get remove docker-ce

Instal Docker di CentOS/RHEL

Untuk sistem operasi CentOS atau RHEL, Anda perlu menginstal repo Docker CE di sistem Anda. Anda dapat menggunakan perintah DNF untuk menambahkan dan mengaktifkan repositori Docker CE seperti yang ditunjukkan di bawah ini:

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

Setelah repositori Docker CE ditambahkan, Anda dapat membuat daftar semua versi Docker CE yang tersedia dengan menjalankan perintah berikut:

dnf list docker-ce --showduplicates | sort -r

Anda harus mendapatkan daftar lengkap dalam output berikut:

docker-ce.x86_64                3:19.03.13-3.el8                docker-ce-stable
Docker CE Stable - x86_64                        54 kB/s | 3.8 kB     00:00
CentOS-8 - Extras                                14 kB/s | 8.1 kB     00:00
CentOS-8 - Base                                 4.6 MB/s | 2.2 MB     00:00
CentOS-8 - AppStream                            4.7 MB/s | 5.8 MB     00:01
Available Packages

Selanjutnya, instal Docker CE versi terbaru dengan menjalankan perintah berikut:

dnf install docker-ce --nobest

Setelah Docker diinstal, verifikasi versi yang diinstal dengan perintah berikut:

docker --version

Anda akan mendapatkan output berikut:

Docker version 19.03.13, build 4484c46d9d

Untuk memulai layanan Docker, jalankan perintah berikut:

systemctl start docker

Untuk menghentikan layanan Docker, jalankan perintah berikut:

systemctl stop docker

Anda juga dapat menjalankan perintah berikut untuk menampilkan informasi lebih lanjut tentang Docker:

docker info

Anda akan melihat output berikut:

Jika Anda ingin menghapus paket Docker dari sistem Anda, jalankan perintah berikut:

dnf remove docker-ce

Mengelola Kontainer Dengan Docker

 docker container perintah digunakan untuk mengelola siklus hidup kontainer. Jika Anda tidak memiliki image untuk menjalankan container, Docker akan masuk ke registry, mendownloadnya.

Jalankan Docker Container

Gunakan sintaks berikut untuk mengunduh gambar dari registri Docker dan membuat wadah.

docker container run [your-image-name]

Misalnya, jalankan perintah berikut untuk membuat wadah server web Apache:

docker container run httpd

Anda akan mendapatkan output berikut:

Anda dapat menggunakan opsi --rm dengan perintah Docker run untuk menghapus wadah setelah keluar.

docker container run --rm httpd

Hubungkan ke Shell Kontainer Docker

Anda dapat menggunakan opsi -it dengan perintah Docker run untuk membuat dan memulai container Apache dan melampirkannya ke shell bash interaktif.

docker container run -it httpd /bin/bash

Anda akan mendapatkan output berikut:

Luncurkan Kontainer Docker Di Latar Belakang

Anda sekarang dapat menjalankan perintah apa pun di dalam wadah.

Anda dapat menggunakan opsi -td dengan perintah Docker run untuk membuat dan memulai container Apache dan membuatnya tetap berjalan.

docker container run -td httpd

Anda akan mendapatkan output berikut:

Menyiapkan Nama Kontainer Docker

Anda dapat menggunakan opsi --name dengan perintah Docker run untuk menetapkan nama container menggunakan sintaks berikut:

docker container run --name [container-name] -td [image-name]

Misalnya, buat penampung baru dari gambar Apache dan berikan nama apacheweb dengan perintah berikut:

docker container run --name apacheweb -td httpd

Ikat Kontainer Docker Pada Port Tertentu

Jika Anda ingin mengakses proses container mesin eksternal, Anda dapat mengekspos port container ke jaringan eksternal.

Dalam hal ini, Anda dapat menggunakan opsi -p dengan perintah Docker untuk mengekspos port tertentu seperti yang ditunjukkan di bawah ini:

docker container run -p [host-port]:[container-port] --name [container-name] -dit [image-name]

Misalnya, buat penampung server web Apache dan tampilkan port penampung 80 ke port 8080 dengan perintah berikut:

docker container run -p 8080:80 --name apacheweb -dt httpd

Sekarang Anda dapat mengakses server web apache yang berjalan di dalam penampung menggunakan URL http://localhost:8080 .

Mencantumkan Semua Kontainer Docker

Untuk membuat daftar semua container yang berjalan dan yang dihentikan di sistem Anda, jalankan perintah berikut:

docker ps -a

Anda akan melihat semua container dalam output berikut:

Untuk membuat daftar container yang hanya berjalan di sistem Anda, jalankan perintah berikut:

docker ps

Anda juga dapat membuat daftar wadah dengan perintah berikut:

docker container ls

Tampilkan Statistik Kontainer Docker

Untuk menampilkan statistik langsung dari container yang sedang berjalan (penggunaan CPU dan memori, jaringan dan I/O disk) bernama apacheweb , jalankan perintah berikut:

docker stats apacheweb

Anda akan melihat output berikut:

Tampilkan Semua Proses Kontainer Docker

Untuk membuat daftar semua proses yang berjalan di dalam container yang sedang berjalan bernama apacheweb , jalankan perintah berikut:

docker top apacheweb

Anda akan melihat output berikut:

Tampilkan Log Kontainer Docker

Untuk menampilkan log dari container yang sedang berjalan bernama apacheweb , jalankan perintah berikut:

docker logs apacheweb

Anda akan melihat output berikut:

Mulai, Hentikan, Dan Jeda Kontainer Docker

Untuk menghentikan penampung yang sedang berjalan bernama apacheweb , jalankan perintah berikut:

docker container stop apacheweb

Untuk memulai penampung bernama apacheweb , jalankan perintah berikut:

docker container start apacheweb

Untuk menjeda penampung bernama apacheweb , jalankan perintah berikut:

docker container pause apacheweb

Mulai Ulang Atau Matikan Kontainer Docker

Untuk memulai ulang penampung yang sedang berjalan bernama apacheweb , jalankan perintah berikut:

docker container restart apacheweb

Untuk mematikan container yang sedang berjalan bernama apacheweb , jalankan perintah berikut:

docker container kill apacheweb

Lampirkan ke Docker Container yang Sudah Berjalan

Untuk terhubung ke container yang sedang berjalan, jalankan perintah berikut:

docker container exec -it apacheweb /bin/bash

Untuk menjalankan perintah apa pun di dalam wadah yang sedang berjalan, jalankan perintah berikut:

docker container exec -it apacheweb ls

Mengelola Gambar Docker

Di bagian ini, kami akan menunjukkan kepada Anda beberapa perintah yang paling umum digunakan untuk mengelola image Docker.

Unduh Gambar Docker Dari Registry

Untuk mengunduh atau menarik gambar dari registri Docker, gunakan sintaks berikut:

docker pull [image-name]

Misalnya, Anda dapat menarik gambar server web Nginx dari registri Docker dengan perintah berikut:

docker pull nginx

Anda akan mendapatkan output berikut:

Unggah Gambar Docker Ke Registry

Jika Anda ingin mengunggah gambar yang ada ke registri Docker, gunakan sintaks berikut:

docker push [image-name]

Masuk ke Docker The Registry

Pertama, Anda harus masuk ke registri Docker dengan perintah berikut:

docker login

Setelah login, jalankan perintah berikut untuk mendapatkan id dari gambar Nginx dan beri tag pada gambar dengan perintah berikut:

docker images

Keluaran:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              f35646e83998        3 weeks ago         133MB
httpd               latest              3dd970e6b110        3 weeks ago         138MB

Tambahkan Tag Ke Gambar Docker

Selanjutnya, beri tag pada gambar dengan perintah berikut:

docker tag f35646e83998 amaksimov/nginx

Dimana:

  • f35646e83998 adalah id gambar, amaksimov adalah nama registri Docker dan nginx adalah nama gambarnya.

Selanjutnya, push image Nginx ke registry Docker dengan perintah berikut:

docker push amaksimov/nginx

Anda akan melihat output berikut:

Buat Gambar Docker Dari Menjalankan Container

Anda juga dapat membuat gambar dari wadah yang ada menggunakan sintaks berikut:

docker commit [container-name] [new-image-name]

Misalnya, buat gambar dari wadah Apache, jalankan perintah berikut:

docker commit apacheweb apache-image

Untuk menyimpan gambar Anda yang ada ke arsip tar dengan menjalankan perintah berikut:

docker save apache-image > apache-image.tar

Sejarah Gambar Docker

Anda dapat mencetak riwayat gambar Docker apa pun dengan perintah berikut:

docker history apache-image

Anda akan mendapatkan output berikut:

Hapus Gambar Docker

Anda dapat menghapus gambar Docker apa pun menggunakan sintaks berikut:

docker rmi [image-name]

Misalnya, jika Anda ingin menghapus gambar Apache, Anda harus menghentikan wadah yang menggunakan kode httpd gambar:

docker container stop apacheweb
docker rm apacheweb

Pertama, kita perlu menghapus apache-image gambar:

docker rmi apache-image

Baru setelah itu, kami menghapus httpd gambar dengan perintah berikut:

docker rmi httpd

Seiring waktu, gambar dan wadah yang dibuat secara manual dapat membawa kekacauan ke server Anda. Silakan lihat FAQ Docker kami untuk mengetahui cara membersihkan semuanya.

Mengelola Volume Docker

Saat Anda membuat wadah baru, menyimpan beberapa data, dan menghapus wadah, data akan hilang. Dalam hal ini, Anda dapat membuat volume pada sistem host dan memulai wadah menggunakan volume ini. Setelah menghapus wadah, Anda dapat mengambil data dari volume. Anda juga dapat menggunakan volume Docker untuk berbagi data di antara beberapa wadah.

Di bagian ini, kami akan menggunakan docker volume yang paling umum digunakan perintah dengan contoh.

Buat Volume Docker

Untuk membuat volume baru bernama datavolume dengan perintah berikut:

docker volume create datavolume

Mencantumkan semua Volume Docker

Untuk membuat daftar volume yang Anda buat, jalankan perintah berikut:

docker volume ls

Anda akan melihat output berikut:

Untuk mencetak informasi lebih lanjut tentang volume, jalankan perintah berikut:

docker inspect datavolume

Anda akan melihat output berikut:

Pasang Volume Ke Wadah Docker

Untuk membuat container baru bernama apacheweb dan me-mount datavolume pada sistem host ke direktori /mnt ke container, jalankan perintah berikut:

docker run -it --name apacheweb1  --mount source=datavolume,destination=/mnt -td httpd

Volume Docker Jarak Jauh

Untuk menghapus volume, jalankan perintah berikut:

docker volume rm datavolume

FAQ Docker

Cara menghapus Gambar Docker yang tidak digunakan

Untuk menghapus semua gambar buruh pelabuhan yang tidak digunakan, Anda perlu menjalankan perintah berikut:

docker rmi $(docker images -a -q)

Cara menghapus semua container Docker yang sudah keluar

Semua container Docker yang keluar dapat dihapus dengan menjalankan perintah berikut:

docker rm $(docker ps -a -f status=exited -q)

Cara Menghentikan Dan Menghapus Semua Kontainer Docker

Untuk menghentikan semua container Docker, Anda perlu menjalankan:

docker stop $(docker ps -a -q)

Untuk menghapus semua container Docker yang dihentikan, Anda perlu menjalankan:

docker rm $(docker ps -a -q)

Cara menghapus semua Gambar, Kontainer, Volume, Jaringan Docker yang tidak digunakan

Untuk menghapus semua resource Docker yang tidak digunakan, Anda dapat menggunakan perintah berikut:

docker system prune

Untuk menghapus semua resource Docker sepenuhnya (bekas dan tidak terpakai), jalankan perintah berikut:

docker system prune -a

Ringkasan

Dalam panduan di atas, Anda belajar tentang perintah Docker yang paling umum digunakan dan penggunaannya dengan contoh. Saya harap ini akan membantu Anda melakukan tugas sehari-hari.


Docker
  1. 30 hal yang tidak Anda ketahui tentang kernel Linux

  2. 10 perintah yang harus diketahui setiap pengguna Linux

  3. Contoh yang Berguna dari Perintah Docker ps

  1. Beberapa Perintah DOCKER

  2. Perintah Nginx Paling Berguna di Sistem Linux

  3. 10 Perintah Linux Ubuntu yang Paling Berguna

  1. Perintah Nginx Yang Harus Anda Ketahui

  2. Perintah Apache Yang Harus Anda Ketahui

  3. Mengapa saya harus peduli dengan Kubernetes, Docker, dan Container Orchestration?