Mengelola Network dan Volume di Docker
Network pada Docker memungkinkan komunikasi antara container yang berbeda atau antara container dan host-nya. Sementara itu, Volume pada Docker memungkinkan kita menyimpan data yang tetap ada meskipun container dihapus atau diperbarui. Dengan memanfaatkan network dan volume di Docker, kita dapat membuat sistem aplikasi yang modular, mudah dihubungkan, dan terjaga datanya.
Docker Network
Istilah pada Network di Docker:
- Bridge Network: Default untuk container yang berjalan dalam jaringan terisolasi. Sangat cocok untuk aplikasi yang berjalan dalam satu host.
- Host Network: Container berbagi jaringan dengan host, cocok untuk aplikasi yang membutuhkan akses langsung ke jaringan host.
- Overlay Network: Menghubungkan container di beberapa host dan sering digunakan dalam lingkungan Docker Swarm atau Kubernetes.
- None Network: Container tanpa jaringan
Mengelola Network di Docker
- Membuat network
docker network create --driver bridge my_bridge
- Menjalankan Container dalam network tertentu
docker run -d --name redis-server --network my_bridge redis
- Menghubungkan Container satu sama lain dalam satu network
docker run -it --name python-app --network my_bridge python:3.8-slim bash
- Melihat Informasi network
docker network ls
docker network inspect my_bridge
- Memutus dan menghapus network
docker network disconnect my_bridge python-app
docker network rm my_bridge
Docker Volume
Istilah pada Volume di Docker:
- Volumes: Penyimpanan data persisten di Docker Host.
- Bind Mounts: Volume yang terhubung ke direktori tertentu di host.
- tmpfs: Data hanya disimpan di dalam memori dan akan hilang setelah container dihentikan.
Mengelola Volume di Docker
- Membuat volume
docker volume create my_volume
- Menjalankan Container dengan Volume
docker run -d --name my-nginx --mount source=my_volume,target=/usr/share/nginx/html nginx
- Menggunakan bind mount
docker run -d --name dev-nginx -v $(pwd)/app:/usr/share/nginx/html nginx
- Melihat dan menghapus Volume
docker volume ls
docker volume rm my_volume