为了让容器在启动点自动启动,我尝试添加命令:

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 )&

其他回答

我尝试了重启:总是,它在一些容器(如php-fpm)工作,但我面临的问题是,一些容器(如nginx)重启后仍然不能重新启动。

解决了问题。

crontab -e

@reboot (sleep 30s ; cd directory_has_dockercomposeyml ; /usr/local/bin/docker-compose up -d )&

你应该能够添加:

restart: always 

到你想在docker-compose中重新启动的每个服务。yml文件。

见:https://github.com/compose-spec/compose-spec/blob/master/spec.md重启

restart: unless-stopped

docker-compose.yml

如果你是码头工人。系统启动时启用服务

$ sudo systemctl enable docker

还有你在码头的工作。yml已经

restart: always

如果只运行下面的命令一次,则重新引导系统时将运行所有服务

docker-compose up -d

为了使用重启策略,Docker提供了以下选项:

no:容器不自动重启。 on-failure[:max-retries]:如果容器退出,则重新启动 方法的最大尝试次数 Docker守护进程重新启动容器。 always:当容器停止时,总是重新启动容器。 unless-stopped:总是重新启动容器,除非它已经停止 或者由Docker守护进程。