编程技术分享平台

网站首页 > 技术教程 正文

docker容器自动重启配置(docker自动重启机制)

xnh888 2024-10-09 21:49:55 技术教程 24 ℃ 0 评论

在开发过程中(特别是测试环境),突然发现docker部署的项目不能使用了,然后去服务器看下,发现docker服务没有启动,或者docker服务启动了,里面的容器没有启动,这里讲下服务器重启后,docker服务自启动,然后docker容器启动。

首先,安装好docker后,设置docker开机自启动。

# 设置服务开机自启
systemctl enable docker
# 关闭开机自启
# systemctl disable docker
# 查看是否开机自启
systemctl is-enabled docker

其次,安装docker容器,这里面以nginx为例

docker run -itd --name test-nginx -p 8888:80   nginx

这种方式安装后,如果服务器重启后,这个nginx容器不会重启,需要手动重启,此时有两种方式处理。

第一种方式,删除这个容器,重新run,添加 --restart always(always策略,最后附上集中策略)

docker run -itd --name test-nginx -p 8888:80 --restart always nginx

这种方式必须在第一次运行容器的时候创建好,不然后面还得删除容器再运行,下面介绍第二种方式不需要删除容器,给容器添加重启策略。

docker update --restart=always  test-nginx

这样就设置好了。

最后,这些设置有没有生效怎么查看呢,可以通过docker inspect查看RestartPolicy

docker inspect test-nginx

附:docker几种重启策略

no:在容器退出时不重启容器(默认)
on-failure:在容器非正常退出时(退出状态非0),才会重启容器
on-failure:3:在容器非正常退出时重启容器,最多重启3次
unless-stopped:在容器退出时总是重启容器,手动停止除外
always:容器只要停止了,都会自动重启

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表