问题描述:
在分布式项目部署的过程中,经常要求服务器重启之后,应用能够自动恢复使用,设置开机自启docker及所有容器后会出现的问题是部分服务或环境存在依赖关系导致启动失败。这时就需要控制一下各个服务之间的启动顺序了。
解决办法
1、首先得设置docker开机重启:
systemctl enable docker.service
2、配置rc.local(服务器开机自动运行脚本)
1)编辑 rc-local.service 文件:
vim /lib/systemd/system/rc-local.service
在文件末尾添加以下内容:
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
文件完整内容:
2)创建rc.local文件:
vim /etc/rc.local
文件内容:
#!/bin/sh
# 这里添加要开机执行的脚本和命令等等
比如博主的是:
这里是重点啦,根据你自己的需求把docker容器id按顺序排列,时间也可以自己定,因为我的是设置了全部容器开机启动,所以这里是docker restart。如果你们没有设置容器开机自启的话可以docker start <容器id>。反正灵活编写开机脚本的执行就好啦。