โดยปกติแล้วเราจะไม่สามารถเรียกใช้งาน docker-compose ได้ตรงๆใน crontab แต่ถ้าต้องการใช้ ให้ใช้วิธีนี้ครับ
เพิ่มคําสั่งนี้เข้าไปก่อนที่จะเรียกใช้ docker-compose
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
ตัวอย่าง เราจะการตั้ง auto renew certificates Letsencrypt ด้วยวิธีการตั้ง Crontab ให้เรียก Script ที่จะทําหน้าที่ Stop container ที่กําลัง Run อยู่ทั้งหมด และ Start Container ของ Letsencrypt เพื่อทําการ Renew certificates เมื่อ renew เรียบร้อยแล้วก็กลับมา Start Container ที่ถูก Stop ไปอีกครั้ง ดังนี้
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
docker-compose stop
docker run -t --rm -p 443:443 -p 80:80 --name certbot \
-v "/etc/letsencrypt:/etc/letsencrypt" \
-v "/var/lib/letsencrypt:/var/lib/letsencrypt" \
quay.io/letsencrypt/letsencrypt:latest renew --force-renew
docker-compose up -d
เป็นอันเสร็จพิธี