Это на виртуальной машине Ubuntu 14.04 LTS с Docker, и я подозреваю, что это respawnявляется причиной моей проблемы, но я не уверен в идеальном решении.
Текущий сценарий upstart ( 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
Это «работает» в том, что myappживой и отзывчивый, но /sbin/initзанимает весь процессор, когда я контролирую с htop. Если я удаляю запись из upstart ( sudo rm /etc/init/dockersuitecrm.conf) и вручную запускаю и запускаю SSH, docker-compose -f /usr/bin/myapp/docker-compose.yml -p myapp startя не вижу процессора на 100% и, как и прежде myapp, снова жив и отзывчив.
Так что я подозреваю, что способ запуска docker-compose выше неверен. Какой правильный способ запуска docker-composeвсегда работает без ручного вмешательства?
РЕДАКТИРОВАТЬ: не должно иметь значения, но /usr/bin/myapp -> /home/batman/dockerapps/myappкак символическая ссылка.
docker-compose start.
scriptблок. Может быть, это является частью проблемы? У меня есть chdir /usr/bin/myapp/и на следующей строке exec docker-compose upвместо.
docker-compose up -d
respawnкоманды в сценарии.