Linux 重启之后 Docker 服务及容器自动启动
2022-09-20 本文已影响0人
Gakki0725
作者:Gakki
linux 重启之后 Docker 服务及容器自动启动
- 首先,最基本的是要先保证 docker 服务要开机启动:
- 输入命令:
systemctl enable docker.service - 查看是否设置成功:
systemctl is-enabled docker
设置 docker 服务开机启动
- 设置保证每次 docker 服务重启后容器也自动重启
- 在启动容器时,添加
--restart=always参数,命令:docker run --restart=always - 如果该容器已经启动,可以使用该命令:
docker update --restart=always 容器id
其他
服务状态
-
systemctl status 服务名称- loaded:系统服务已经初始化完成,加载过配置
- active(running):正有一个或多个程序正在系统中执行, vsftpd就是这种模式
- atcive(exited):仅执行一次就正常结束的服务,目前并没有任何程序在系统中执行
- atcive(waiting):正在执行当中,不过还在等待其他的事情才能继续处理
- inactive:服务关闭
- enbaled:服务开机启动
- disabled:服务开机不自启
- static:服务开机启动项不可被管理
- failed:系统配置错误
docker 容器
- docker 容器退出状态码
| 状态码 | 描述 |
|---|---|
| 0 | 表示正常退出 |
| 非 0 | 表示异常退出(退出状态码采用 chroot 标准) |
| 125 | Docker 守护进程本身的错误 |
| 126 | 容器启动后,要执行的默认命令无法调用 |
| 127 | 容器启动后,要执行的默认命令不存在 |
| 137 | 表明容器收到了 SIGKILL 信号,进程被杀掉,对应kill -9 |
| 139 | 表明容器收到了 SIGSEGV 信号,无效的内存引用,对应kill -11 |
| 143 | 表明容器收到了 SIGTERM 信号,终端关闭,对应kill -15 |
-
docker update --restart=always 容器id- --restart 参数说明:
- no:容器退出时,不重启容器;
- on-failure:只有在非0状态退出时才从新启动容器;
- no-failure:3:在容器非正常退出时重启容器,最多重启 3 次
- always:无论退出状态是如何,都重启容器;
- --restart 参数说明: