Dee*_*101 20 server upstart 14.04 docker
这是在运行 Docker 的 Ubuntu 14.04 LTS VM 上,我怀疑respawn是我的问题的原因,但不确定理想的解决方案。
当前的新贵脚本 ( cat /etc/init/dockersuitecrm.conf)
description "Start docker containers"
author "Batman"
start on filesystem and started docker
stop on runlevel [!2345]
respawn
script
docker-compose -f /usr/bin/myapp/docker-compose.yml -p myapp start
end script
Run Code Online (Sandbox Code Playgroud)
这种“有效”的方式myapp是活跃且响应/sbin/init迅速,但当我使用htop. 如果我从 upstart ( sudo rm /etc/init/dockersuitecrm.conf) 中删除条目并手动 SSH 进入并运行,docker-compose -f /usr/bin/myapp/docker-compose.yml -p myapp start我不会看到 cpu 出现 100% 问题,并且像以前一样myapp再次活跃且响应迅速。
所以我怀疑我上面启动 docker-compose 的方式是不正确的。docker-compose在没有人工干预的情况下始终运行的正确启动方式是什么?
编辑:应该无关紧要,但/usr/bin/myapp -> /home/batman/dockerapps/myapp作为符号链接。
只需使用crontab,而不是使用时间间隔,只需说@reboot
因此,以应该启动此脚本的用户身份登录并键入命令
crontab -e
Run Code Online (Sandbox Code Playgroud)
然后输入
@reboot /better/enter/fullpath/here/docker-compose -f /usr/bin/myapp/docker-compose.yml -p myapp start
Run Code Online (Sandbox Code Playgroud)
重新启动系统,看看它是否有效。与 upstart 相比有一个优势,即使它启动得晚一点,您也不必担心网络等依赖项已经启动。