Docker: docker update

docker update command เป็นทางเลือกที่ทำให้สามารถแก้ไข container ที่ build ไปแล้วได้ โดยไม่ต้องทำใหม่ตั้งแต่ต้น โดยครั้งนี้จะยกตัวอย่าง restart=unless-stopped


วิธีตั้งค่าให้ container ใน OrbStack เร็วที่สุด

  1. ถ้าต้องการตั้งทั้งหมดที่กำลังรันอยู่ (running containers เท่านั้น) รันคำสั่งนี้ครั้งเดียว
    docker update --restart=unless-stopped $ (docker ps -q)
    • docker ps -q → แสดงเฉพาะ ID ของ container ที่กำลังรัน
    • ผลลัพธ์: ตั้งค่า unless-stopped ให้ทุก container ที่รันอยู่ตอนนั้น
  2. ถ้าต้องการตั้งเฉพาะตัวที่เลือก ระบุชื่อหรือ ID ตรง ๆ แยกด้วย space
    docker update --restart=unless-stopped \ container1 container2 container3 container4 container5
    หรือใช้ ID ถ้าชื่อยาว / ซ้ำ
    docker update --restart=unless-stopped abc123 def456 ghi789 jkl012 mno345
  3. ถ้าต้องการตั้งทั้งหมดที่มีอยู่
    docker update --restart=unless-stopped $
    • -a = all containers
    • ระวัง: จะทำให้ทุก container ที่เคยสร้างเคย run มาแล้ว ถูกตั้งค่า auto-restart เวลา OrbStack เปิดใหม่

ขั้นตอนแนะนำสำหรับ OrbStack (เพื่อให้ run อัตโนมัติตอนเปิดเครื่อง / เปิด OrbStack)

  1. ตรวจสอบ container ที่ต้องการก่อน
    docker ps -a
  2. ตั้งค่า restart policy ด้วยวิธีด้านบน
  3. หยุด container ที่ไม่อยากให้ run อัตโนมัติ (สำคัญมาก!)
    docker stop unwanted-container1 unwanted-container2
    เพราะ unless-stopped จะ respect การ stop ด้วยมือ → reboot หรือ restart OrbStack แล้วมันจะไม่เริ่มตัวที่ถูก stop ไว้
  4. ทำให้ OrbStack เปิดอัตโนมัติตอนเครื่องบูต
    • System Settings → General → Login Items → กด + แล้วเลือก OrbStack.app
  5. ทดสอบ
    • หยุด OrbStack
    • เปิด OrbStack ใหม่ → 5 ตัวที่ตั้ง unless-stopped ควร start อัตโนมัติ

สรุปตัวเลือกคำสั่งที่ใช้บ่อย

  • เฉพาะตัว
    docker update --restart=unless-stopped name1 name2 name3 name4 name5
  • ทุกตัวที่รันอยู่
    docker update --restart=unless-stopped $ (docker ps -q)
  • ทุกตัวทั้งหมด
    docker update --restart=unless-stopped $ (docker ps -a -q)

อ่านเพิ่มเติม

Exit mobile version