docker 提供了簡單的操作容器的命令。但是他操作容器的命令不屬於系統。
由於太簡單,必然有很多不足。例如 啟動順序、依賴性檢查、失敗服務恢復等,均需要一個成熟的系統服務管理軟件來完成。
本文使用redis作為例子:
第一步:下載鏡像
# docker pull docker.io/redis
第二步:啟動鏡像
# docker run -d --name redis_server -p 6379:6379 redis
第三步:進入/etc/systemd/system/目錄並創建docker-container\@.service文件
#cd /etc/systemd/system/
#vi /etc/systemd/system/docker-container\@.service
注意:不要以為docker-container\@.service缺少了什么,他的名字就叫這個。
將以下內容復制進去
[Unit]
Description=Docker Container %I
Requires=docker.service
After=docker.service
[Service]
Restart=always
ExecStart=/usr/bin/docker start -a %i
ExecStop=/usr/bin/docker stop -t 2 %i
[Install]
WantedBy=default.target
第四步:設置開機啟動(注意:開機先啟動docker才能再啟動容器)
# systemctl enable docker.service
# systemctl enable docker-container\@redis_server.service
第五步:檢查是否能正常啟動
# systemctl start docker-container\@redis_server.service
# systemctl status docker-container\@redis_server.service
第五步 調用的docker-container\@redis_server.service服務,實際上是docker-container\@.service 服務。redis替換了第三步內容的 %i
最后重啟試試。
-----------------------------------------------------------------------------------------------------
自用
systemctl enable docker-container\@dnmp_mysql.service
systemctl enable docker-container\@dnmp_phpfpm.service
systemctl enable docker-container\@dnmp_nginx.service
docker啟動命令,docker重啟命令,docker關閉命令
啟動 systemctl start docker
守護進程重啟 sudo systemctl daemon-reload
重啟docker服務 systemctl restart docker
重啟docker服務 sudo service docker restart
關閉docker service docker stop
關閉docker systemctl stop docker
————————————————
原文鏈接:https://blog.csdn.net/easternunbeaten/article/details/80463837
原文鏈接:https://blog.csdn.net/lvshuocool/article/details/79568049