docker的开机启动和docker容器的随docker启动
本文最后更新于 2025年4月17日 早上
系统重启和服务崩溃也不算是一个罕见的事情,如果把应用建立在容器内,通常会希望应用能够在环境恢复后继续提供服务,本文就是解决这个场景需求的。
docker容器要想在环境恢复后让应用持续提供回复,包含两层:
- docker本身能够随系统启动而启动
- docker的容器能随着docker的启动而启动
让docker随系统启动
开机启动在centOS8上是通过systemctl
应用进行控制的,在早期版本好像并不是这个应用。不管是哪个软件,思路就是要让docker.service
随系统启动而启动。
检查docker.seivice是不是处于enabled状态,enabled状态的单元才会开机启动
命令:systemctl list-unit-files | grep docker.service
如果结果反馈是:docker.service enabled
,那么docker就是开机启动的,如果不是,那就使用systemctl enable docker.service
使docker开机启动。
让容器随镜像启动而启动
让容器随镜像启动的关键参数是run
命令的--restart
选项,默认是no
,需要设置成--restart=always
。如果使用run
命令时没有启动,可以在之后采用docker update --restart=always <containerName>
命令将重启策略设定为总是重启。
查看容器状态
容器状态通过docker ps -a
命令查看的,可以看到所有容器的状态,输出结果上有个字段叫STATUS
,这个字段显示容器已经启动了多久。
重启docker服务查看容器是否跟随启动
使用命令systemctl restart docker.service
重启docker,然后通过docker ps -a
查看STATUS
是否已经up <x> seconds
,也就是上线了x秒。