Hay un problema con la ventana acoplable: el archivo docker no se puede iniciar (/ bin / bash se agrega después del comando de inicio para hacer que no se inicie)

Catálogo de series relacionadas con el tutorial de uso de Docker


problema:

Escriba un archivo docker, luego cree un espejo a través del archivo docker, el espejo construido genera un contenedor y luego comienza

FROM centos:7
MAINTAINER www.zenghw.com
ENV VERSION=8.5.47
RUN yum install java-1.8.0-openjdk wget curl unzip iproute net-tools -y && \
    yum clean all && \
    rm -rf /var/cache/yum/*
COPY apache-tomcat-8.5.47.zip /tmp
RUN cd /tmp && \
    unzip apache-tomcat-8.5.47.zip  && \
    mv apache-tomcat-8.5.47 /usr/local/tomcat8 && \
    rm -rf apache-tomcat-8.5.47.zip  && \
    cd /usr/local/tomcat8/bin/ && \
    chmod +x *.sh && \
    sed -i '1a JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"' /usr/local/tomcat8/bin/catalina.sh && \
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
 
ENV PATH $PATH:/usr/local/tomcat8/bin
WORKDIR /usr/local/tomcat8
EXPOSE 8080
CMD ["/usr/local/tomcat8/bin/catalina.sh", "run"]

docker build -t tomcat:v1 -f Dockerfile-tomcat . 
docker run -d -i -t --name=tomcatv1 -p 8888:8080 tomcat:v1 /bin/bash

Analiza las razones

La función de / bin / bash es ejecutar bash después de cargar el contenedor. Un proceso debe mantenerse en ejecución en la ventana acoplable, de lo contrario, todo el contenedor se eliminará inmediatamente después de que se inicie.

El comando ha sido declarado en el dockerfile.

CMD ["/usr/local/tomcat8/bin/catalina.sh", "run"]

solución

Cuando el contenedor se inicia, no agregue / bin / bash después del comando de ejecución

Supongo que te gusta

Origin blog.csdn.net/shi_hong_fei_hei/article/details/114646659
Recomendado
Clasificación