一、docker服务设置自动启动

1、查看已启动的服务

systemctl list-units --type=service

在这里插入图片描述
2、查看是否设置开机启动

systemctl list-unit-files | grep enable

在这里插入图片描述
这里已经设置了,之前是没有的。
3,设置开机启动

systemctl enable docker.service

在这里插入图片描述
4,关闭开机启动

systemctl disable docker.service

二、docker容器设置自动启动

启动时加–restart=always

no             不自动重启容器. (默认value)
on-failure     容器发生error而退出(容器退出状态不为0)重启容器
unless-stopped 在容器已经stop掉或Docker stoped/restarted的时候才重启容器
always         在容器已经stop掉或Docker stoped/restarted的时候才重启容器

例如:启动mysql服务,跟随docker一起启动。

docker run -p 3306:3306 --name mysql --restart=always -v /application/mysql/conf:/etc/mysql/conf.d -v /application/mysql/logs:/logs -v /application/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

说明:

-p 12345:3306:将主机的12345端口映射到docker容器的3306端口。
--name mysql:运行服务名字
-v /application/mysql/conf:/etc/mysql/conf.d :将主机/application/mysql录下的conf/my.cnf 挂载到容器的 /etc/mysql/conf.d
-v /application/mysql/logs:/logs:将主机/application/mysql目录下的 logs 目录挂载到容器的 /logs。
-v /application/mysql/data:/var/lib/mysql :将主机/application/mysql目录下的data目录挂载到容器的 /var/lib/mysql 
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
-d mysql:5.6 : 后台程序运行mysql5.6

如果已经过运行的项目
如果已经启动的项目,则使用update更新:

docker update --restart=always 容器id或name
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐