docker开机自动启动容器,以homeassistant为例(设置为只要docker守护进程启动,容器就会自动重启):
docker update --restart=always homeassistant
解释:
Docker 容器在默认情况下不会在系统启动时自动启动。这是因为 Docker 容器有自己的生命周期,并且在创建容器时,你需要明确指定是否要在启动 Docker 守护进程时自动启动容器。
解决方法:
- 使用
docker run
命令时,加上 --restart
选项来指定重启策略。例如:docker run -d --restart=always 容器镜像
这里的 -d
表示后台运行,--restart=always
表示无论退出代码是什么,只要 Docker 守护进程启动,容器就会自动重启。
- 如果容器已经运行,你可以使用
docker update
命令来更新容器的重启策略。例如:docker update --restart=always 容器名或ID
- 如果你使用的是 Docker Compose,可以在
docker-compose.yml
文件中为服务设置 restart: always
。例如:services:your-service:image:容器镜像restart:always
确保你的 Docker 版本支持该功能,并且在启动容器之前或更新容器配置后,检查 Docker 守护进程是否配置为在启动时自动启动:
sudo systemctl enable docker
以上步骤可以确保在系统启动时自动启动 Docker 容器。