Невозможно запустить скрипт в моем контейнере docker - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь создать свой собственный образ на основе Centos. Я не понимаю, почему, когда я использую команду CMD в моем docker файле для выполнения скрипта при запуске, невозможно запустить мое изображение (Exited (0) немедленно). При сборке без команды CMD я подключаюсь к контейнеру и выполняю «sh /opt/jbossEAP/Mock/scripts/mock_start.sh». У меня нет проблем, я пытался использовать команду точки входа, но результат тот же: (

FROM centos:7
ENV container docker
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == \
systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]
RUN yum update -y
RUN mkdir -p /opt/jbossEAP/Mock/scripts/
ADD ./scripts /opt/jbossEAP/Mock/scripts/
RUN chmod +x /opt/jbossEAP/Mock/scripts/mock_start.sh

### START SCRIPT ###
CMD sh /opt/jbossEAP/Mock/scripts/mock_start.sh

mock_start. sh

#!/bin/sh
############################################
echo "hello"

Ответы [ 2 ]

0 голосов
/ 17 июня 2020

Ты прав !!!

Просто добавляю и теперь все нормально.

CMD sh /opt/jbossEAP/Mock/scripts/mock_start.sh && tail -f / dev / null

Большое спасибо

0 голосов
/ 16 июня 2020

Я подозреваю, что ваш CMD или ENTRYPOINT работает , но контейнер просто завершает работу после вывода hello

Вы можете проверить свой docker вывод даже после того, как он был остановился на: docker logs <container-id>

Прочтите { ссылка } для получения дополнительной информации о том, как это работает и как этого избежать.

Мои предположения могут быть ошибочными, поэтому, пожалуйста, всегда добавьте к своему вопросу:

  • Как вы начинаете вывод docker изображения
  • docker ps -a
  • соответствующую часть вывода docker logs <container-id>
...