家的微暖 发表于 2023-2-25 12:39:21

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

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


设置docker开机启动

systemctl enable docker
设置容器自动重启

1)创建容器时设置
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 命令设置
docker update --restart=always 容器ID(或者容器名)
(容器ID或者容器名根据实际情况修改)
docker常用命令 设置docker、容器 自动启动


启动docker 设置docker 自动启动

测试环境我们为了方便很多都适用docker 容器进行安装环境方便管理和设置,为了避免在开机和关机过程中频繁的手动重启容器,我们可以设置容器跟随docker 服务自动重启,命令如下设置,同时我们可以将docker 服务设置启动服务器自动启动,即可解决我们的问题。
#设置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用户的密码
具体的操作命令如下,可以进行参考
#启动命令,启动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=alwaysdocker启动mysql容器
开发测试中必不可少的缓存服务,可以参考执行命令
docker run -p 6379:6379 -v /data/docker/redis:/data -d redis redis-server  --restart=always
总结

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

来源:https://www.jb51.net/article/275196.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 如何设置docker开机自启动,并设置容器自动重启