我有一个 Linux AMI 2 AWS 实例,其中包含一些通过 docker-compose 编排的服务,并且我使用 docker-compose up 或 docker-compose start 命令来启动它们。现在我每天都会自动启动/停止我的 ec2 实例,但是一旦启动,我想运行一些 ssh 以便能够更改到 docker-compose.yml 文件所在的目录,然后启动它。
就像是:
#!
cd /mydirectory
docker-compose start
我怎样才能做到这一点?
Thanks
我建议使用 cron 来完成此任务,因为它很简单。大多数玉米都支持非标准指令,例如@daily
, @weekly
, @monthly
, @reboot
.
您可以将其放入 shell 脚本中,并在 crontab 中将其安排为@reboot /path/to/shell/script
or
您可以使用绝对路径指定 docker-compose 文件并直接在 crontab 中将其安排为@reboot docker-compose -f /path/to/docker-compose.yml start
其他可能性:
- 创建一个 systemd 服务并启用它。所有启用的系统服务将在通电时启动。(难度:中等)
- 将脚本放在 init.d 下并将其链接到 rc*.d 目录。这些脚本也是根据优先级启动的。(难度:中等)
Bonus:
如果您在 docker-compose 文件中为容器指定重新启动策略,则在重新启动或打开服务器时它将自动启动。参考
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)