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:
Informasi Volume Docker Cetak
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.