при выполнении контейнера докера на выскочке на Amazon не работает Linux

Я пытаюсь заставить свой контейнер работать на запуске с помощью выскочки.

Как сказанное учебное руководство - я создал/etc/init/nginx_server.conf

description "Nginx docker"
author "Me"
start on filesystem and started docker
stop on runlevel [!2345]
respawn
script
  /usr/bin/docker run -d -p 80:80 test_server
end script

Выполнение последнего Amazon Linux (amzn-ami-hvm-2015.03.0.x86_64-gp2)

Контейнер не работает вообще (выполнение docker ps -a не показывает его вообще),

1
задан 10 May 2015 в 15:51
2 ответа

Вы не можете выполнить «запуск докера» из выскочки, вам следует создать контейнер из образа докера, а затем выполнить «запуск докера» в выскочке. Если вы проверите / var / log / messages, вы, вероятно, увидите что-то вроде:

init: test_server main process (6570) terminated with status 1
init: test_server respawning too fast, stopped

Чтобы обойти это, попробуйте запустить:

docker run -d -p 80:80 test_server

В качестве вывода вы получите идентификатор контейнера:

a64db8e1cca5

Затем вставьте файл выскочки :

description "Nginx docker"
start on filesystem and started docker
stop on runlevel [!2345]
respawn
script
  /usr/bin/docker start -a a64db8e1cca5
end script
1
ответ дан 3 December 2019 в 18:39

В Amazon Linux демон Docker запускается с помощью инициализации .d сценарий, а не сценарий Upstart. В своем сценарии Upstart вы пытаетесь сигнализировать о запуске, когда запускается служба докеров ( .. запускает докер ). Это будет работать только в том случае, если сценарий инициализации докера является сценарием Upstart.

Вы можете добавить initctl emit docker-start в сценарий docker init.d, а затем запустить конфигурационный файл службы Upstart с этим событием (например, запуск при запуске докера )

2
ответ дан 3 December 2019 в 18:39

Теги

Похожие вопросы