Berikut adalah langkah-langkah untuk build ulang dan menjalankan kembali project Docker Compose Anda, serta menangani container lama:

1. Build Ulang Project Docker Compose

Untuk membangun ulang seluruh layanan di docker-compose.yml:

docker-compose build

Ini akan memperbarui image Docker sesuai dengan perubahan di Dockerfile atau docker-compose.yml.


2. Hentikan dan Hapus Container Lama

Sebelum memulai layanan baru, Anda perlu memastikan container lama dihentikan dan dihapus.

  1. Hentikan semua container lama:

docker-compose down

Perintah ini akan:

  • Menghentikan semua container yang didefinisikan di docker-compose.yml.
  • Menghapus container, tetapi volumes, images, dan jaringan tetap ada.
    2. Opsional: Hapus semua container secara manual (jika diperlukan): Jika Anda ingin memastikan tidak ada container lama yang berjalan:
docker ps -a docker rm <container_id>


3. Opsional: Bersihkan volume lama (jika data harus benar-benar baru):
docker-compose down -v

Perintah ini akan menghapus semua volume terkait.


3. Jalankan Kembali Layanan

Setelah build selesai dan container lama dihentikan/dihapus, jalankan kembali layanan:
docker-compose up -d

Penjelasan:

  • up -d: Menjalankan layanan di latar belakang (detached mode).
  • Docker Compose akan membuat container baru berdasarkan hasil build ulang.
4. Bersihkan Resource Lama (Opsional)

Setelah build ulang, Anda dapat membersihkan resource Docker yang tidak terpakai:

  1. Hapus image lama (jika tidak digunakan):

    docker image prune
  2. Hapus semua resource yang tidak digunakan (image, container, network, dan volume):

    docker system prune
Tambahkan opsi -a jika Anda juga ingin menghapus image yang tidak digunakan oleh container mana pun:
docker system prune -a



Tips untuk Workflow Tim dengan Docker Compose

  1. Perbarui Layanan Saja (tanpa menghentikan semua container): Anda dapat membangun ulang dan hanya memperbarui layanan tertentu tanpa memengaruhi layanan lain:


    docker-compose up -d --build <service_name>
  2. Lihat Status Layanan: Pastikan semua container berjalan dengan lancar:


    docker-compose ps
  3. Debugging Logs: Jika ada masalah, periksa log container:


    docker-compose logs <service_name>

Workflow Sederhana

  1. Build ulang project:


    docker-compose build
  2. Hentikan container lama:


    docker-compose down
  3. Jalankan layanan baru:


    docker-compose up -d
  4. Opsional: Bersihkan resource lama:


    docker system prune -a

Dengan langkah ini, layanan Docker Compose Anda akan dibangun ulang dan berjalan kembali dengan kondisi baru.