Hier ist die Sache. Ich habe folgendes Dockerfile:Tomcat friert im Docker-Container beim Start ein
DOCKERFILE
FROM centos:centos7
MAINTAINER Legos
ADD epel-release-7-9.noarch.rpm /etc/extras/epel-release-7-9.noarch.rpm
RUN rpm -Uvh /etc/extras/epel-release*rpm
# Install prepare infrastructure
RUN yum -y update && \
yum -y install wget && \
yum -y install tar && \
yum -y install haveged && \
yum -y install rng-tools
RUN chkconfig haveged on
# Prepare environment
ADD jdk* /opt/
WORKDIR /opt/
RUN yum localinstall -y "jdk-8u131-linux-x64.rpm"
RUN echo "1"|alternatives --config java
ENV JAVA_HOME /usr/java/jdk1.8.0_131
#ENV JAVA_OPTS "-Djava.security.egd=/dev/./urandom"
ENV CATALINA_HOME /opt/tomcat
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$CATALINA_HOME/scripts
# Install Tomcat
ENV TOMCAT_MAJOR 8
ENV TOMCAT_VERSION 8.5.15
RUN wget http://www-eu.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR}/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.tar.gz && \
tar -xvf apache-tomcat-${TOMCAT_VERSION}.tar.gz && \
rm apache-tomcat*.tar.gz && \
mv apache-tomcat* ${CATALINA_HOME}
RUN chmod +x ${CATALINA_HOME}/bin/*sh
# Create Tomcat admin user
ADD create_admin_user.sh $CATALINA_HOME/scripts/create_admin_user.sh
ADD tomcat.sh $CATALINA_HOME/scripts/tomcat.sh
ADD webapps/gireUsuarios.war $CATALINA_HOME/webapps/gireUsuarios.war
ADD conf/tomcat-users.xml $CATALINA_HOME/conf/tomcat-users.xml
ADD conf/Catalina/localhost/manager.xml $CATALINA_HOME/conf/Catalina/localhost/manager.xml
RUN chmod +x $CATALINA_HOME/scripts/*.sh
# Create tomcat user
RUN groupadd -r tomcat && \
useradd -g tomcat -d ${CATALINA_HOME} -s /sbin/nologin -c "Tomcat user" tomcat && \
chown -R tomcat:tomcat ${CATALINA_HOME}
WORKDIR /opt/tomcat
EXPOSE 8080 8009 8443 9100-9120 4369 80
RUN yum clean all
USER tomcat
CMD ["tomcat.sh"]
TL; DR: Es ist ein Bild für eine CentOS 7 Maschine mit Tomcat 8.5 und Java 1.8. Der 'tomcat.sh' führt catalina.sh nur aus, nachdem er einen Benutzer in der Konfiguration erstellt hat, daher gibt es nicht viel zu sagen.
Die Sache ist dies: Wenn ich einen Container erstellen, friert der Container beim Bereitstellen der WAR-Datei, die ich übergebe. Ich habe versucht, beide anderen WAR-Dateien mit positiven Ergebnissen zu starten, und ich habe versucht, diese problematische WAR-Datei in meinen Maschinen Tomcat 8.5 (ein direkt aus der Box Tomcat ohne viel mehr als die Zugabe der Manager-GUI) zu implementieren Benutzer), und es wird erfolgreich bereitgestellt.
Also, die Frage: eine Idee, warum Tomcat während der Bereitstellung in einem Docker-Container einfrieren würde? Ich habe versucht, die JAVA_OPTS = -Djava.security.egd =/dev /./Urandom Lösung, die angeblich mit dieser Art von Ereignissen hilft, aber es hat nicht funktioniert. Vorschläge?