Memastikan Docker Container Selalu Berjalan dengan Bash Script

Memastikan Docker Container Selalu Berjalan dengan Bash Script sangat penting dalam lingkungan produksi untuk menjaga aplikasi tetap aktif dan berjalan tanpa gangguan. Dalam artikel ini, kita akan membahas cara menggunakan Bash Script untuk memonitor dan memastikan Docker container terus berfungsi, sehingga aplikasi dapat tetap online dan responsif. Saya akan berbagi skrip Bash sederhana yang dapat membantu Anda melakukan hal tersebut.
Langkah 1: Buat Daftar Kontainer
Mulailah dengan membuat daftar ID kontainer yang ingin Anda periksa. Anda bisa menyimpan ID ini dalam sebuah array:
CONTAINER_IDS=(“id-container-1” “id-container-2” “id-container-3”)

Langkah 2: Periksa Status Kontainer
Selanjutnya, kita akan menggunakan perintah docker inspect untuk memeriksa apakah kontainer sedang berjalan atau tidak. Perintah ini akan mengembalikan true jika kontainer berjalan, dan false jika tidak.

Langkah 3: Mulai Ulang Kontainer yang Berhenti
Jika kontainer tidak berjalan, skrip ini akan otomatis memulai ulang kontainer tersebut. Berikut adalah contoh skrip lengkapnya:

#!/bin/bash

CONTAINER_IDS=("id-container-1" "id-container-2" "id-container-3")

for CONTAINER_ID in "${CONTAINER_IDS[@]}"
do
  STATUS=$(sudo docker inspect -f '{{.State.Running}}' $CONTAINER_ID)
  
  if [ "$STATUS" != "true" ]; then
    echo "$(date): Container $CONTAINER_ID is not running. Starting container..."
    sudo docker start $CONTAINER_ID
  else
    echo "$(date): Container $CONTAINER_ID is running."
  fi
done

Cara Kerja Skrip Ini:

  • Skrip ini akan loop melalui setiap ID kontainer yang ada di dalam array.
  • Untuk setiap kontainer, skrip memeriksa apakah kontainer tersebut sedang berjalan.
  • Jika tidak, skrip akan mencatat waktu dan memulai ulang kontainer tersebut.

Kesimpulan: Skrip ini sangat membantu untuk memastikan bahwa kontainer Docker Anda tetap berjalan tanpa perlu pengecekan manual. Anda bisa menjalankan skrip ini secara berkala menggunakan cron job agar sistem Anda selalu dalam kondisi optimal. Semoga Membantu