ตามที่อธิบายไว้แล้วในความคิดเห็นนี้โดยRobนักเทียบท่าจะเปิดใช้งานซ็อกเก็ต นั่นหมายความว่า deamon ไม่เริ่มต้นเว้นแต่จะเรียกว่า คำตอบที่มีอยู่ที่นี่ใช้งานได้ แต่ CoreOS แนะนำวิธีการที่แตกต่าง
วิธีที่แนะนำในการทำเช่นนี้ตามเอกสาร CoreOSคือการสร้างบริการสำหรับแอพของคุณเองซึ่งต้องใช้บริการ Docker:
/etc/systemd/system/myapp.service:
[Unit]
Description=MyApp
After=docker.service
Requires=docker.service
[Service]
TimeoutStartSec=0
ExecStartPre=-/usr/bin/docker kill busybox1
ExecStartPre=-/usr/bin/docker rm busybox1
ExecStartPre=/usr/bin/docker pull busybox
ExecStart=/usr/bin/docker run --name busybox1 busybox /bin/sh -c "trap 'exit 0' INT TERM; while true; do echo Hello World; sleep 1; done"
[Install]
WantedBy=multi-user.target
และให้บริการนั้นเริ่มโดยอัตโนมัติแทน:
$ sudo systemctl enable /etc/systemd/system/myapp.service
$ sudo systemctl start hello.service
ตัวอย่าง use-case คือการอัพเดตคอนเทนเนอร์เป็นเวอร์ชันล่าสุดเมื่อเซอร์วิสเริ่มทำงานและตัวอย่างขั้นสูงยังรีจิสเตอร์เซอร์วิสใน etcd อ่านเอกสาร CoreOSสำหรับข้อมูลพื้นหลังเพิ่มเติม