ป้ายกำกับ: Features

OrbStack: auto restart containerOrbStack: 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:

    YAML

    docker run -d --restart=unless-stopped \ -p 8080:80 \ --name my-app \ nginx
    

หรือ

YAML

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> ตัวที่ไม่อยากให้เริ่ม หรือหยุดก่อนแล้วค่อยตั้งค่าใหม่


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