关于docker及容器

docker开机自动启动容器,以homeassistant为例(设置为只要docker守护进程启动,容器就会自动重启):

docker update --restart=always homeassistant

解释:

Docker 容器在默认情况下不会在系统启动时自动启动。这是因为 Docker 容器有自己的生命周期,并且在创建容器时,你需要明确指定是否要在启动 Docker 守护进程时自动启动容器。

解决方法:

  1. 使用 docker run 命令时,加上 --restart 选项来指定重启策略。例如:docker run -d --restart=always 容器镜像这里的 -d 表示后台运行,--restart=always 表示无论退出代码是什么,只要 Docker 守护进程启动,容器就会自动重启。
  2. 如果容器已经运行,你可以使用 docker update 命令来更新容器的重启策略。例如:docker update --restart=always 容器名或ID
  3. 如果你使用的是 Docker Compose,可以在 docker-compose.yml 文件中为服务设置 restart: always。例如:services:your-service:image:容器镜像restart:always

确保你的 Docker 版本支持该功能,并且在启动容器之前或更新容器配置后,检查 Docker 守护进程是否配置为在启动时自动启动:

sudo systemctl enable docker

以上步骤可以确保在系统启动时自动启动 Docker 容器。