Docker 容器开机自启动

2021年8月10日23:25:02 发表评论 114

0. 概述

在 Linux 中,对于应用开机自启动我是了解得多了,但是,随着使用 Docker 的频率膨胀,Docker 容器开机自启动进入了我的考虑范围,本文就记录一下我是如何设置 Docker 容器的开机自启动的。

要先让 Docker 容器开机自启动,首先还是得先让 Docker 开机自启动,毕竟 Docker 没起来,你想对容器做啥也是没办法的,所以第一步我会先设置 Docker 开机自启动,接着才是容器的开机自启动。

1. 设置 Docker 开机自启动

设置 Docker 开机自启动就是熟悉的领域了,在 CentOS 下我都是直接通过 systemd 进行的,所以可以直接:

systemctl enable docker

这样就可以让 Docker 开机自启动了。

2. 设置容器开机自启动

设置容器自启动,其实就是设置容器运行的参数,通过查看 Docker 的文档之后,原来直接加一个参数就可以了:

docker run -dit --restart always redis

这样就可以保证无论是 Docker 重启还是 Container 故障,还是说系统重启,都可以让容器运行。这里用到的参数是 --restart,它有几个选择,分别是:

选项 作用
no 无论什么情况,都不要重启容器
on-failure 当容器的主进程以非正常状态退出时重启(退出码非 0)
always 无论什么情况,只要容器没运行,就重启
unless-stopped 和 always 差不多,但是如果时被主动 stop 掉或者 Docker 重新启动后这两种情况都不会重启

3. 参考资料