为每个Docker配置启动顺序

意义

为了在一个服务器上使用多个Docker来运行Web服务,需要使用反代。但反代时每个Docker重启的IP不确定,如果将端口都映射到Host显得不是很方便。同时不同Dokcer可能存在依赖,因此需要设置Docker启动顺序。

方法

通过Systemctl在启动系统时调用启动脚本

实践

配置Service

编辑 rc-local.service文件:

vim /lib/systemd/system/rc-local.service

添加以下内容:

[Install]
WantedBy=multi-user.target
Alias=rc-local.service

编写启动脚本

创建/etc/rc.local 文件,作为启动脚本

#!/bin/sh
sleep 10s; docker stop (docker ps -a | awk '{ print1}' | tail -n +2)
sleep 1s ; docker start xxx1
sleep 1s ; docker start xxx2
sleep 1s ; docker start xxx3
exit 0

ok,搞定啦!

THE END