Docker 命令退出 0

Docker CMD exit 0

我正在尝试创建一个容器,如果文件夹不存在,它在启动时 运行s 是一个 maven 命令;但总是在 运行 命令之后我收到一条消息“Neomind_dev 以代码 0 退出”。

有没有办法通过dockerfile或者docker-compose到运行一个带有return的脚本,在容器启动后不让容器退出?

docker文件:

FROM tomcat
ENV MAVEN_VERSION "3.8.4"
ENV MAVEN_HOME "/usr/share/maven"
ENV PATH "${MAVEN_HOME}/bin:${PATH}"

# Install tools
RUN apt-get update && \
    wget -O /tmp/apache-maven-${MAVEN_VERSION}.zip http://ftp.unicamp.br/pub/apache/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip && \
    unzip /tmp/apache-maven-${MAVEN_VERSION}.zip -d /usr/share && \
    mv /usr/share/apache-maven-${MAVEN_VERSION} ${MAVEN_HOME} && \
    rm -rf /tmp

COPY settings.xml ${MAVEN_HOME}/conf/settings.xml
COPY ./build.sh /

WORKDIR /
CMD sh build.sh

脚本

if [ ! "$(ls /usr/local/fusion)" ]; then 
cd /usr/local 
mvn archetype:generate -B -Pneomind-archetype -DarchetypeGroupId=com.neomind.archetype -DarchetypeArtifactId=fusion-client-archetype -DarchetypeVersion=1.1 -DtenantId=Neomind-dev -DfusionVersion=3.15.5 
fi
  1. 容器退出,因为您的脚本 运行 没有错误并结束进程。
  2. 要保持​​ process/container 运行ning,您可以在 docker 文件的最后添加一个命令,使 tomcat 连续 运行ning :CMD ["catalina.sh" "运行"].