Рейтинг:0

Невозможно запустить контейнер из образа докера. Если мы добавим CMD для запуска агента filebeat или fluentd, произойдет сбой.

флаг gb

я не могу запустить контейнер из образа докера, который создается из-под Dockerfile. Если мы добавим CMD для запуска агента filebeat или fluentd, произойдет сбой.

Докерфайл

##################################################
ОТ узла:12
#установить pm2
ЗАПУСК npm установить pm2 -g
ЗАПУСТИТЬ подходящее обновление
#создать каталог и скопировать код
ЗАПУСК mkdir -p /home/devops/comera_registration_service/
WORKDIR /home/devops/comera_registration_service/
КОПИРОВАТЬ . .
#свободная установка
КОПИРОВАТЬ фл.ш. 
RUN ш фл.ш
#установка зависит
ЗАПУСТИТЬ установку npm
#запустить приложение
CMD [ "pm2-runtime", "ecosystem.config.js" ]
CMD ["/etc/init.d/td-агент", "старт"]  
#открытие порта
ВЫСТАВИТЬ 3010

введите описание изображения здесь

введите описание изображения здесь

флаг in
Пожалуйста, не публикуйте скриншоты текста, если вместо этого вы можете просто скопировать и вставить текст.
Рейтинг:1
флаг hr

узел: 12 изображение имеет сценарий точки входа. Когда ТОЧКА ВХОДА указано, Docker будет использовать значения в CMD как параметры для этой команды точки входа.

Точку входа родительского образа можно отключить, добавив в свой Dockerfile следующее:

ТОЧКА ВХОДА []

В качестве примечания, когда несколько CMD инструкции указаны в Dockerfile, в результирующем образе будет установлен только последний.

С Dockerfile выше и удаленной родительской точкой входа, /etc/init.d/td-агент будет PID 1 контейнера. Поскольку это сценарий инициализации, он завершится после запуска демона. Когда PID 1 исчезнет, ​​контейнер выйдет.

Чтобы запустить несколько программ внутри контейнера, необходим скрипт-оболочка или менеджер процессов. Обратите внимание, что это обычно не рекомендуется. Например. в Kubernetes предпочтительнее использовать шаблон sidecar-контейнера.

Serji avatar
флаг gb
Спасибо, я пытался, как вы сказали, но когда я даю CMD в качестве запускающего агента Flud, он выходит из контейнера. ``` CMD ["/etc/init.d/td-агент", "старт"] ТОЧКА ВХОДА []
флаг hr
Обновлен ответ, чтобы включить запуск нескольких процессов. Глядя на ваш конкретный вариант использования, вам, вероятно, не следует добавлять fluentd к существующему образу контейнера. Я бы порекомендовал рассмотреть возможность запуска fluentbit/fluentd в качестве дополнительного контейнера.
Serji avatar
флаг gb
Спасибо, я попробую это. будет обновлять
Serji avatar
флаг gb
Привет, я изменил журнал приложений с настроенного пути на /dev/stdout, и это решило проблему.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.