如何设置docker开机自启动,并设置容器自动重启
作者:IT_狂奔者
这篇文章主要介绍了如何设置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=always
docker启动mysql容器
开发测试中必不可少的缓存服务,可以参考执行命令
docker run -p 6379:6379 -v /data/docker/redis:/data -d redis redis-server --restart=always
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。