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