จากการแบ่งปันความรู้เรื่องพื้นฐานของ Docker ไป
มีคำถามที่น่าสนใจเรื่องของ Docker Restart Policy
ที่กำหนดในการสร้าง container ทั้งใน command line และ Docker compose file
ว่ามันคืออะไร จึงทำการสรุปแบบคนใช้งานพื้นฐานไว้นิดหน่อย

จากเอกสารของ Docker อธิบายไว้ว่า

  • No คือค่า default นั่นหมายความว่า จะไม่ restart แบบอัตโนมัติเมื่อ container อยู่ในสถานะ Exit
  • On-failure จะทำการ restart ถ้า container อยู่ในสถานะ exit พร้อมกับ exit code ไม่เท่ากับ 0 นั่นคือ exit แบบมีปัญหานนั่นเอง โดยสามารถกำหนดค่าของ max retry ได้อีกด้วย
  • Always จะทำการ restart container เมื่ออยู่ในสถานะ exitให้เสมอ หรือทำการ restart Docker deamon แล้วก็จะ start containerให้ด้วย
  • Unless-stopped จะเหมือน Always แต่จะไม่รวม container ที่ทำการ stop ก่อนการ restart หรือ stop Docker deamon นั่นเอง

ดังนั้นลองกำหนดค่า Restart policy ให้ตรงตามที่ต้องการได้

Tags: