docker update command เป็นทางเลือกที่ทำให้สามารถแก้ไข container ที่ build ไปแล้วได้ โดยไม่ต้องทำใหม่ตั้งแต่ต้น โดยครั้งนี้จะยกตัวอย่าง restart=unless-stopped
วิธีตั้งค่าให้ container ใน OrbStack เร็วที่สุด
- ถ้าต้องการตั้งทั้งหมดที่กำลังรันอยู่ (running containers เท่านั้น) รันคำสั่งนี้ครั้งเดียว
docker update --restart=unless-stopped $ (docker ps -q)docker ps -q→ แสดงเฉพาะ ID ของ container ที่กำลังรัน- ผลลัพธ์: ตั้งค่า unless-stopped ให้ทุก container ที่รันอยู่ตอนนั้น
- ถ้าต้องการตั้งเฉพาะตัวที่เลือก ระบุชื่อหรือ ID ตรง ๆ แยกด้วย space
docker update --restart=unless-stopped \ container1 container2 container3 container4 container5
หรือใช้ ID ถ้าชื่อยาว / ซ้ำdocker update --restart=unless-stopped abc123 def456 ghi789 jkl012 mno345 - ถ้าต้องการตั้งทั้งหมดที่มีอยู่
docker update --restart=unless-stopped $-a= all containers- ระวัง: จะทำให้ทุก container ที่เคยสร้างเคย run มาแล้ว ถูกตั้งค่า auto-restart เวลา OrbStack เปิดใหม่
ขั้นตอนแนะนำสำหรับ OrbStack (เพื่อให้ run อัตโนมัติตอนเปิดเครื่อง / เปิด OrbStack)
- ตรวจสอบ container ที่ต้องการก่อน
docker ps -a - ตั้งค่า restart policy ด้วยวิธีด้านบน
- หยุด container ที่ไม่อยากให้ run อัตโนมัติ (สำคัญมาก!)
docker stop unwanted-container1 unwanted-container2
เพราะ unless-stopped จะ respect การ stop ด้วยมือ → reboot หรือ restart OrbStack แล้วมันจะไม่เริ่มตัวที่ถูก stop ไว้ - ทำให้ OrbStack เปิดอัตโนมัติตอนเครื่องบูต
- System Settings → General → Login Items → กด + แล้วเลือก OrbStack.app
- ทดสอบ
- หยุด 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)
อ่านเพิ่มเติม