Panduan Gambar Docker: Cara Menghapus Gambar Docker, Menghentikan Kontainer, dan Menghapus semua Volume

Docker telah diadopsi secara luas dan merupakan sarana yang bagus untuk menerapkan aplikasi ke cloud (atau beberapa infrastruktur siap Docker lainnya). Ini juga berguna untuk pembangunan daerah. Anda dapat memulai aplikasi yang kompleks dengan cepat, mengembangkannya secara terpisah, dan masih memiliki kinerja yang sangat baik.

Berikut adalah perintah paling penting untuk menggunakan Docker dalam bisnis harian Anda secara efisien.

Buat Daftar Semua Gambar Docker

docker images 

Dalam kasus saya, saya memasang 3 gambar:

  • MySQL, versi 8.0.19, ditandai sebagai versi terbaru
  • dan Cassandra dengan versi terbaru.

Untuk mendapatkan informasi lebih lanjut tentang sebuah gambar, Anda dapat memeriksanya:

docker inspect mysql:latest

Ini akan mengembalikan daftar informasi. Sebagai alternatif, Anda juga dapat menggunakan ID gambar untuk mendapatkan informasi:

docker inspect 3a5e53f63281

Hasilnya bisa sangat banyak. Oleh karena itu, ada opsi praktis untuk memfilter informasi tertentu:

docker inspect --format='{{.RepoTags}} {{.Config.Image}}' 3a5e53f63281

Hapus Gambar Docker

Sebuah gambar tunggal dapat dihapus dengan:

docker rm mysql:latest

Dalam kasus saya, gambar tersebut masih ditandai dengan mysql: 8.0.19 . Oleh karena itu, untuk menghapusnya sepenuhnya, saya juga perlu menghapus tag versi lain:

docker rm mysql:8.0.19

Untuk menghapus gambar secara langsung, lebih mudah menghapus gambar dengan id gambar:

docker image rm 3a5e53f63281 -f

Opsi -f memaksa eksekusi, karena jika tidak, Anda akan mendapatkan error jika gambar direferensikan oleh lebih dari 1 tag.

Mulai Gambar Docker

Gambar dapat dimulai di latar depan dengan:

docker run cassandra

Jika gambar tidak ada, maka itu akan diunduh. Anda dapat menghentikan eksekusi dengan menekan CTRL + C . Anda juga dapat menjalankannya di latar belakang dengan menambahkan opsi -d :

docker run -d mysql

Jika penampung dimulai di latar belakang, Anda akan menerima ID penampung.

Secara default, penampung berjalan secara terpisah. Oleh karena itu, Anda tidak akan dapat melakukan komunikasi apa pun dengannya, dan tidak ada file yang disimpan di direktori Anda saat ini.

Meneruskan port dari sebuah kontainer

Anda dapat meneruskan port dengan menggunakan opsi -p , misalnya, halaman yang diekspos dari penampung Anda:

docker run -p 8080:80 nginx

Container NGINX ini mengekspos webserver di port 80. Dengan menggunakan -p 8080: 80, port lokal 8080 diteruskan ke port container 80.

Masuk ke dalam wadah

Terkadang sangat membantu untuk masuk ke wadah. Ini hanya mungkin jika container memiliki shell yang terpasang. Anda akan mendapatkan pesan kesalahan jika tidak demikian.

Pertama, mulailah wadah terlepas dan beri nama:

docker run -d --name my_container nginx

Ini akan mengembalikan ID penampung. Sekarang Anda dapat mengeksekusi shell di container dan melampirkan input dan output Anda ke dalamnya dengan menggunakan opsi -i dan -t :

docker exec -it my_container bash

Selain nama penampung, Anda juga dapat menggunakan ID penampung yang dikembalikan untuk semua operasi berikut. Terkadang, bash tidak tersedia. Oleh karena itu, Anda juga dapat mencoba meluncurkan shell dasar:

docker exec -it my_container sh

Buat daftar container yang sedang berjalan

Setelah Anda memulai sebuah penampung, Anda dapat melihat semua penampung yang sedang berjalan menjalankan:

docker ps

Dengan menambahkan -a , kontainer yang keluar juga akan dicantumkan:

docker ps -a

Bagikan folder lokal dengan wadah

Sometimes it is useful to sync files between the container and the local filesystem. You can do it by running a container and using the -v option. On Linux and macOS, you can share a local temporary folder with a container by:

docker run --name=my_container -d -v $(pwd)/tmp:/var/log/nginx -p 8080:80 nginx

On windows you can run:

docker run --name=my_container -d -v %cd%/tmp:/var/log/nginx -p 8080:80 nginx

Stop running containers

It is possible to stop a running container by:

docker stop my_container

Stopping a container stops all processes but keeps changes within the filesystem.

Start a stopped container

A stopped container can be started by:

docker start my_container

Remove a container

To remove a stopped container, you can execute:

docker rm my_container

To stop and remove the container in one command, you can add the force option -f.

docker rm -f my_container

Create a volume and share it with multiple containers

An independent volume named SharedData can be created by:

docker volume create --name SharedData docker run --name=my_container -d -v SharedData:/var/log/nginx -p 8080:80 nginx docker run --name=my_container_2 -d -v SharedData:/var/log/nginx -p 8080:80 nginx

Both containers will have a shared folder, and files will be synced between both containers.

Remove a volume

To remove a volume, all containers that use the volume need to be removed.

docker rm -f my_container docker rm -f my_container_2 docker volume rm SharedData

Remove stopped containers and unused images

A safe tidy-up command is:

docker system prune -a

Remove all unused volumes

All unmounted volumes can be removed by:

docker volume prune

Conclusion

Creating containers, logging into containers, forwarding ports, and sharing volumes are the most important commands of your Docker command line interface. They build the foundation of systems like Kubernetes and enable us to create and run applications in isolation.

I hope you enjoyed the article. If you like it and feel the need for a round of applause, follow me on Twitter.

I am a co-founder of our revolutionary journey platform called Explore The World. We are a young startup located in Dresden, Germany and will target the German market first. Reach out to me if you have feedback and questions about any topic.

Happy Docker exploring :)

References

  • Docker command line documentation

    //docs.docker.com/engine/reference/commandline/docker/