PlusMagi's Blog By Pitt Phunsanit Docker,OrbStack OrbStack: auto restart container

OrbStack: auto restart container

ใน OrbStack (ซึ่งเป็น Docker Desktop alternative สำหรับ macOS) ไม่มีฟีเจอร์ในตัวที่ให้เลือก container เฉพาะตัวแล้วตั้งค่าให้ run อัตโนมัติทุกครั้งที่ OrbStack เริ่มทำงาน (หรือตอนเครื่องบูต) แบบตรง ๆ เหมือนใน Docker Desktop บางเวอร์ชัน แต่มีวิธีทำให้ container ทำงานอัตโนมัติเมื่อเครื่องเริ่มทำงาน (หรือเมื่อ OrbStack เริ่ม) ได้ดังนี้


วิธีที่คนใช้กันเยอะที่สุด (แนะนำสำหรับคนส่วนใหญ่)

ใช้ restart policy ของ Docker ธรรมดา + ทำให้ OrbStack เปิดอัตโนมัติตอนเครื่องบูต

ขั้นตอน

  • รัน container ด้วย –restart=unless-stopped (หรือ always)
    หรือถ้าใช้ docker-compose.yml:
    docker run -d --restart=unless-stopped \ -p 8080:80 \ --name my-app \ nginx
    

    หรือ

    services: app: image: nginx restart: unless-stopped ports: - "8080:80"
    
  • ไปที่ System Settings > General > Login Items (หรือ Users & Groups > Login Items ใน macOS รุ่นเก่า)
    • เพิ่ม OrbStack เข้าไป (ลากแอป OrbStack มาวาง หรือกด + แล้วเลือก)
    • วิธีนี้ทำให้ OrbStack เปิดอัตโนมัติทุกครั้งที่ login
  • ถ้าต้องการให้เครื่อง auto login (สำหรับ server หรือ headless)
    • System Settings > Users & Groups > เปิด Automatic login สำหรับ user ของคุณ

เมื่อเครื่องบูต → macOS login อัตโนมัติ → OrbStack เปิด → Docker engine เริ่ม → container ที่มี restart policy จะถูกเริ่มอัตโนมัติทันที

หมายเหตุ: --restart=unless-stopped จะเริ่ม container ใหม่ทุกครั้งที่ Docker engine เริ่ม (ยกเว้นกรณีที่คุณ stop ด้วยมือแล้วเครื่อง shutdown)


ถ้าใช้ docker compose project เยอะ

หลายคนใช้ docker compose up -d ใน script แล้วใส่ใน Launch Agent หรือ cron @reboot แต่ยุ่งยากกว่า หรือใช้เครื่องมือเสริม เช่น

  • Orb CLI + script ใน ~/Library/LaunchAgents
  • แต่ส่วนใหญ่แนะนำวิธี 1 ง่ายสุด

สรุปสั้น ๆ

วิธีทำ OrbStack + container run on start (ตอนเครื่องบูต)

  1. ตั้งค่า container ด้วย --restart=unless-stopped
  2. เพิ่ม OrbStack เข้า Login Items ใน System Settings
  3. (optional) เปิด Automatic login ถ้าเป็น server

ถ้าต้องการควบคุมเยอะกว่านี้ (เช่น เลือกเฉพาะบาง container) ปัจจุบัน (2026) ยังต้องพึ่ง restart policy + การเปิด OrbStack อัตโนมัติ ไม่มี toggle ใน GUI ให้เลือก per-container แบบชัดเจน

ถ้ามีปัญหาเรื่อง random container เริ่มทำงานตอนเปิด OrbStack (บางคนเจอ) ลองดู issue บน GitHub ของ OrbStack แล้วลอง docker update --restart=no <container> ตัวที่ไม่อยากให้เริ่ม หรือหยุดก่อนแล้วค่อยตั้งค่าใหม่


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

Exit mobile version