Docker 将已经部署的容器设置为自动启动

1. 需求

有台不是很重要的服务器上面部署了几个docker,由于没有ups经常会断电,服务器已经设置了自动来电启动.但有一些已经部署且正常运行的容器无法自动启动.

2. 实现

2.1 Docker服务的自启动

systemctl is-enabled docker
如果提示enabled,说明已经是开启自启动了

如果是disabled,那么就执行以下命令,启动并将docker服务设置为开机自启动

systemctl enable --now docker

2.2 容器设置成自启动

2.2.1 方法1

  1. 获取容器id或名字
    这里的0af13655f6d6就是docker的id
    mysql就是这个容器的名字
root@Ubuntu-1:~# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
0af13655f6d6        mysql:5.7.34        "docker-entrypoint.s…"   16 hours ago        Exited (0) 10 minutes ago                       mysql
  1. update
    这里用容器名字或者容器id都可以
docker update 0af13655f6d6 --restart=always

此时容器已经会随着docker服务自己启动了,可以重启下docker service,此时容器就自己起来了

root@Ubuntu-1:~# systemctl restart docker
root@Ubuntu-1:~# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
0af13655f6d6        mysql:5.7.34        "docker-entrypoint.s…"   16 hours ago        Up 2 seconds        0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

2. 方法2

这个方法稍微麻烦一些,但更直观.如果需要修改其他参数也不用特意去记具体参数.
不过话说回来,如果不记得参数看到这个json应该也是一脸懵的…

vi /var/lib/docker/containers/0af13655f6d67350957e8825fa7631db6b5b882856765cc33c3be453ef0cbb86/hostconfig.json
修改no为always即可

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_29974229/article/details/128213806
今日推荐