0
点赞
收藏
分享

微信扫一扫

docker容器为啥会开机自启动

艾米吖 2024-07-24 阅读 12

1.简介

systemd管理的应用可以通过systemctl enable xxx来设置开机启动,那docker的容器在哪里设置开机自启动呢?

docker run 运行容器的时候,常用--restart unless-stopped 参数,这个参数就与开机启动有关,

--restart string                 Restart policy to apply when a container exits (default "no")

docker有4种重启类型

类型

描述

场景

--restart=unless-stopped


docker守护进程重启后容器也会重启,除非之前是已停的,之前运行的都重启。

常用

--restart=always

容器以任何方式的退出,总尝试重启。

需要持续运行的服务,以确保服务始终可用。

--restart=on-failure[max_try]

容器运行出错后重启。

因错误退出,自动修复后自动恢复的服务。

--restart=no

未指定时默认,只要退出,就不再重启。

只需要运行一次,后续不关注。

注:docker stop 后失效,例如docker服务还在,手动全部停止了容器docker stop $(docker ps -aq),服务器重启后,容器就不会起来,也符合--restart=unless-stopped。

--restart=always,查看重启次数

docker inspect -f "{{ .RestartCount }}" 容器ID

2.忘记设置--restart=怎么办

使用docker update

docker update --restart=unless-stopped  容器ID

3.docker的容器7种状态

容器状态

描述

created

被创建未启动

running/Up

运行中

paused

被暂停

removing

迁移中

restarting

启动中

exited

已退出

dead

无法运行

4.docker状态码

#可以看到STATUS列的Exited (x)
docker ps -a

#State部分的ExitCode
docker inspect 容器ID

Exited (0) 

正常退出

Exited (非0) 

非正常退出,如Exited (1) 出错退出,Exited (127)命令找不到,Exited (125)一般docker run出错

举报

相关推荐

0 条评论