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 }}" 容器ID2.忘记设置--restart=怎么办
使用docker update
docker update --restart=unless-stopped  容器ID3.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出错 | 










