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

  1. Membuat network
    • docker network create --driver bridge my_bridge
  2. Menjalankan Container dalam network tertentu
    • docker run -d --name redis-server --network my_bridge redis
  3. Menghubungkan Container satu sama lain dalam satu network
    • docker run -it --name python-app --network my_bridge python:3.8-slim bash
  4. Melihat Informasi network
    • docker network ls
    • docker network inspect my_bridge
  5. 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

  1. Membuat volume
    • docker volume create my_volume
  2. Menjalankan Container dengan Volume
    • docker run -d --name my-nginx --mount source=my_volume,target=/usr/share/nginx/html nginx
  3. Menggunakan bind mount
    • docker run -d --name dev-nginx -v $(pwd)/app:/usr/share/nginx/html nginx
  4. Melihat dan menghapus Volume
    • docker volume ls
    • docker volume rm my_volume