建立好一個容器後把它轉成服務,並設定在每次開機時自動啟動。在 CentOS 上我們使用的是 Systemd 而不是之前 Ubuntu 的 Upstart,Systemd 的約定中設定文件應放置在 /etc/systemd/system 或是 /usr/lib/systemd/system 下,由於某些系統預設安全性修改 /etc 下的檔案權限問題比較多,為了各系統間相容建議都放在 /usr/lib/systemd/system。
以下以 Dockerize 的 OpenVPN 容器設定為服務為例,容器確定已經可以正常運行之後,在上述目錄下建立一個 docker-openvpn.service 檔案:
sudo vi /usr/lib/systemd/system/docker-openvpn.service
內容為:
[Unit] Description=OpenVPN Docker Service Author=Coolfire After=docker.service [Service] TimeoutSec=300 Restart=always ExecStart=/usr/bin/docker start openvpn [Install] WantedBy=multi-user.target
然後測試是不是可以跑起來:
sudo systemctl start docker-openvpn docker ps
如果已經跑起來了,那麼把它設定開機自啟動:
sudo systemctl enable docker-openvpn
如果需要確認可以重開機看看服務是否不需人工干預自動跑起來了。
CoreOS 可參考:
http://chuansong.me/n/1067253