服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - 如何设置docker开机自启动,并设置容器自动重启

如何设置docker开机自启动,并设置容器自动重启

2023-04-13 13:42IT_狂奔者 服务器知识

这篇文章主要介绍了如何设置docker开机自启动,并设置容器自动重启问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

设置docker开机自启动,并设置容器自动重启

设置docker开机启动

?
1
systemctl enable docker

设置容器自动重启

1)创建容器时设置

?
1
2
3
4
5
6
7
8
9
10
docker run -d --restart=always --name 设置容器名 使用的镜像
(上面命令  --name后面两个参数根据实际情况自行修改)
 
# Docker 容器的重启策略如下:
 --restart具体参数值详细信息:
       no        // 默认策略,容器退出时不重启容器;
       on-failure    // 在容器非正常退出时(退出状态非0)才重新启动容器;
       on-failure:3    // 在容器非正常退出时重启容器,最多重启3次;
       always      // 无论退出状态是如何,都重启容器;
       unless-stopped  // 在容器退出时总是重启容器,但是不考虑在 Docker 守护进程启动时就已经停止了的容器。

2)修改已有容器,使用update

如果创建时未指定 --restart=always,可通过update 命令设置

?
1
2
docker update --restart=always 容器ID(或者容器名)
(容器ID或者容器名根据实际情况修改)

docker常用命令 设置docker、容器 自动启动

启动docker 设置docker 自动启动

测试环境我们为了方便很多都适用docker 容器进行安装环境方便管理和设置,为了避免在开机和关机过程中频繁的手动重启容器,我们可以设置容器跟随docker 服务自动重启,命令如下设置,同时我们可以将docker 服务设置启动服务器自动启动,即可解决我们的问题。

?
1
2
3
4
5
6
7
8
9
#设置docker 服务 跟随服务器操作系统启动
systemctl enable docker.service
 
#设置docker内部的容器 自动跟随docker自动启动 ,增加参数 --restart=always
docker run --restart=always .....
# 更新内部 修改 内部容器 自动启动
docker update --restart=always
# docker 修改容器的名字 , 例如一下命令
docker rename xjignf redis

docker启动容器实例

docker启动mysql容器

命令说明:

  • -p 3306:3306:将容器的3306端口映射到主机的3306端口
  • -v $PWD/conf/my.cnf:/etc/mysql/my.cnf:将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf
  • -v $PWD/logs:/logs:将主机当前目录下的logs目录挂载到容器的/logs
  • -v $PWD/data:/mysql_data:将主机当前目录下的data目录挂载到容器的/mysql_data
  • -e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码

具体的操作命令如下,可以进行参考

?
1
2
3
4
#启动命令,启动mysql实例
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql --restart=always
#如果行保留在容器外面方便后期更新服务和更换服务保留数据,可以将数据映射到主机的文建目录中
docker run -itd --name mysql -v /data/docker/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql --restart=always

docker启动mysql容器

开发测试中必不可少的缓存服务,可以参考执行命令

?
1
docker run -p 6379:6379 -v /data/docker/redis:/data -d redis redis-server  --restart=always

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://bertram.blog.csdn.net/article/details/109029856

延伸 · 阅读

精彩推荐