centos7 使用 systemctl 使 docker 容器(container)开机启动
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