为了让容器在启动点自动启动,我尝试添加命令:
cd directory_has_docker-compose。Yml && docker-compose up -d /etc/rc.local
但当我重启机器后,容器就不工作了。
如何在系统启动时运行docker-compose up -d ?
为了让容器在启动点自动启动,我尝试添加命令:
cd directory_has_docker-compose。Yml && docker-compose up -d /etc/rc.local
但当我重启机器后,容器就不工作了。
如何在系统启动时运行docker-compose up -d ?
当前回答
我尝试了重启:总是,它在一些容器(如php-fpm)工作,但我面临的问题是,一些容器(如nginx)重启后仍然不能重新启动。
解决了问题。
crontab -e
@reboot (sleep 30s ; cd directory_has_dockercomposeyml ; /usr/local/bin/docker-compose up -d )&
其他回答
restart: unless-stopped
docker-compose.yml
我尝试了重启:总是,它在一些容器(如php-fpm)工作,但我面临的问题是,一些容器(如nginx)重启后仍然不能重新启动。
解决了问题。
crontab -e
@reboot (sleep 30s ; cd directory_has_dockercomposeyml ; /usr/local/bin/docker-compose up -d )&
如果你是码头工人。系统启动时启用服务
$ sudo systemctl enable docker
还有你在码头的工作。yml已经
restart: always
如果只运行下面的命令一次,则重新引导系统时将运行所有服务
docker-compose up -d
你应该能够添加:
restart: always
到你想在docker-compose中重新启动的每个服务。yml文件。
见:https://github.com/compose-spec/compose-spec/blob/master/spec.md重启
总是在docker-compose中使用restart。yaml文件。
Docker-compose up -d将再次从图像中启动容器。使用docker-compose start启动停止的容器,它永远不会从映像中启动新的容器。
nginx:
restart: always
image: nginx
ports:
- "80:80"
- "443:443"
links:
- other_container:other_container
你也可以把代码写在docker文件中,这样如果它依赖于其他容器,它就会第一个被创建。