LINUX.ORG.RU
ФорумAdmin

Не срабатывает команда в Dockerfile

 


0

1

Привет.

Создал докерфайл

FROM centos:7.9.2009
LABEL maintainer="User"
LABEL version="3"
LABEL description="Docker Image with Nexus"
ENV TZ=Europe/Moscow

RUN yum update -y \
    && yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel \
    && yum install wget -y \
    && wget https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.41.0-01-unix.tar.gz \
    && tar -C "/usr/local/" -xvzf nexus-3.41.0-01-unix.tar.gz \
    && ln -s /usr/local/nexus-3.41.0-01/bin/nexus /etc/init.d/nexus \
    && chmod 755 -R /etc/init.d/nexus /usr/local/nexus-3.41.0-01 /usr/local/sonatype-work \
    && rm nexus-3.41.0-01-unix.tar.gz \
    && yum remove wget -y \
    && yum clean all
CMD ["/etc/init.d/nexus", "start"]
EXPOSE 8081

При запуске контейнера видно, что команда запускает сервис, но почему-то контейнер сразу выключается.

Если захожу в контейнер, с командой bash, то сервис не запущен, в логах ничего нет,

но в ручную командой сервис запускается.

Как сделать, чтобы запускалось сразу при запуске контейнера?

Перемещено hobbit из general



Последнее исправление: chart41 (всего исправлений: 3)

Я в докере не смыслю, но может дело в том что /etc/init.d/nexus запустив сервис в фоне завершается, докер решает что контейнер сделал своё дело и завершает его? На сколько я понимаю в докере предполагается запускать полезную нагрузку напрямую. не через системный init

MrClon ★★★★★
()