Skip to content

emka.web.id

Menu
  • Home
  • Indeks Artikel
  • Tutorial
  • Tentang Kami
Menu

Update Aplikasi Docker Compose Tanpa Gangguan dengan Docker Rollout!

Ingin update aplikasi Docker Compose tanpa henti? Perkenalkan "Docker Rollout", alat yang memudahkan proses update dengan klaim minim downtime (gangguan)!

Apa itu Docker Rollout?

Docker Rollout adalah sebuah tool yang bisa mengupdate service Docker Compose secara otomatis. Biasanya, update service secara manual mengharuskan kita melakukan beberapa langkah agar tidak terjadi downtime, seperti:

  1. Menjalankan service dengan jumlah instance 2x lipat dari biasanya.
  2. Menunggu container baru siap.
  3. Mematikan container lama.

Docker Rollout membantu kita mengautomasi langkah-langkah tersebut, sehingga update bisa berjalan lebih efisien.

Tapi, ada catatan penting!

  • Agar Docker Rollout berfungsi dengan baik, pastikan service Docker Compose Anda tidak memiliki pengaturan "container_name" dan "ports" di file "docker-compose.yml". Sebaiknya gunakan reverse proxy untuk menangani pengaturan tersebut.
  • Selama update, Docker Rollout akan menambah angka indeks container (contoh: "web-1" menjadi "web-2").
  • Meski minim downtime, beberapa image Docker seperti Nextcloud mungkin akan masuk ke mode maintenance selama beberapa detik.

Untuk penggunaan profesional, pendekatan manual mungkin lebih disarankan karena fleksibilitasnya. Namun, Docker Rollout bisa menjadi teman yang baik untuk proyek personal Anda!

Mari kita instal dan gunakan Docker Rollout!

Instalasi Docker Rollout di Linux

Proses instalasinya mudah. Buka terminal Linux dan jalankan perintah berikut:

# Buat direktori untuk plugin Docker cli.
$ mkdir -p ~/.docker/cli-plugins

# Download script Docker-rollout ke direktori plugin.
$ curl https://raw.githubusercontent.com/wowu/docker-rollout/master/docker-rollout -o ~/.docker/cli-plugins/docker-rollout

# Berikan akses eksekusi ke script.
$ chmod +x ~/.docker/cli-plugins/docker-rollout

Dengan langkah ini, perintah "docker rollout" sudah bisa digunakan.

Update Service Docker Compose dengan Docker Rollout

Sebagai contoh, misalkan kita memiliki file Docker Compose berikut:

version: "3.7"
services:
  my-web:
    image: username/nginx:v1
    networks:
      - localweb


  my-db:
    image: username/mysql:v1
    networks:
      - localweb

networks:
  localweb:

Anggap service Docker Compose sudah berjalan dan image Nginx dan MySQL versi 2 sudah tersedia. Untuk update, edit file Docker Compose dan ubah image menjadi "v2". Kemudian jalankan perintah:

Catatan: Saat ini, Docker Rollout belum bisa update multiple service sekaligus.

# Update container Nginx.
$ docker rollout -f docker-compose.yml my-web

# Update container MySQL.
$ docker rollout -f docker-compose.yml my-db

Perintah ini akan menjalankan container dengan image baru sebanyak 2x lipat dari jumlah awal. Setelah container baru siap, container lama akan dimatikan. Anda bisa memantau proses update dengan perintah "watch docker ps".

Kesimpulan

Docker Rollout memang memudahkan update service Docker Compose. Namun, keterbatasan kustomisasi dan fitur membuatnya kurang ideal untuk lingkungan kerja profesional. Meskipun begitu, Docker Rollout bisa menjadi asisten yang handal untuk project personal Anda.

Jika ada pertanyaan, jangan sungkan untuk berkomentar di bawah!

Artikel Diperbarui pada: June 02, 2024
Kontributor: Syauqi Wiryahasana
Model: Haifa Manik Intani
Seedbacklink

Recent Posts

TENTANG EMKA.WEB>ID

EMKA.WEB.ID adalah blog seputar teknologi informasi, edukasi dan ke-NU-an yang hadir sejak tahun 2011. Kontak: kontak@emka.web.id.

©2024 emka.web.id Proudly powered by wpStatically