建立好一個容器後把它轉成服務,並設定在每次開機時自動啟動。在 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

最後修改日期: 2022-06-04