容器Docker设置自启动

当我们的服务器上面部署了很多docker 的项目,如果我们将服务器重启,这个时候我们的容器是会被停止的,一个个手动去重启容器会显得很繁琐,所以有没有一种方式让容器重启呢?答案是肯定的

我们要确定一点,一个是docker本身服务,一个是docker 部署的容器项目

1. 要设置 docker自动启动,如下:

systemctl enable docker.service

2. 设置docker 容器为自启动,

在启动的时候可以使用参数 :docker run –restart=always
如果已经启动了则可以使用如下命令:

docker update --restart=always <CONTAINER ID>

–restart具体参数值详细信息:

no –  容器退出时,不重启容器;

on-failure – 只有在非0状态退出时才从新启动容器;

always – 无论退出状态是如何,都重启容器;

还可以在使用on-failure策略时,指定Docker将尝试重新启动容器的最大次数。默认情况下,Docker将尝试永远重新启动容器。

docker update --restart=on-failure:10 <CONTAINER ID>

如果要取消命令如下:

docker update --restart=no <CONTAINER ID>
# 取消全部
docker update --restart=no $(docker ps -q)

3. 查看是否加入开机启动项

systemctl list-unit-files |grep xxx

例如:查看所有自启动的项目

查看docker 在系统中状态

4. 我们使用 reboot 来进行linux 重启后,看下docker 容器是否重启了

docker ps 命令发现已经设置的自启动容器项目已经启动了

5. 常用命令

docker start NAMES. # 启动容器

docker stop NAMES     # 停止
docker restart NAMES  # 重启

docker 启动所有的容器
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)

docker 关闭所有的容器
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)

docker 删除所有的容器
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)

docker 删除所有的镜像
docker rmi $(docker images | awk '{print $3}' |tail -n +2)
没有账号? 忘记密码?
网站地图