Heute ist bei mir ein Problem aufgetreten, als ich Dockerfile zum Erstellen eines Images verwendet habe und der Container nach dem Ausführen des Images automatisch beendet wurde. Befehl starten:
Verwenden Sie nach dem Ausführen Docker PS, um festzustellen, dass der Docker-Container beendet ist Nach einer Suche nach Informationen stellte ich fest, dass dieses Problem nicht kompliziert ist. Der Grund ist, dass ein Vordergrundprozess vorhanden sein muss, wenn der Docker-Container im Hintergrund ausgeführt wird. Lösung: 1. Starten Sie den laufenden Prozess im Vordergrund, beispielsweise: nginx nginx -g "daemon off;" tomcat ./catalina.sh run 2. Verwenden Sie tail, top und andere Programme, die im Vordergrund ausgeführt werden können. Tail wird insbesondere für die Ausgabe Ihrer Protokolldatei empfohlen. Fügen Sie ENTRYPOINT /opt/tomcat7.0/bin/startup.sh && tail -F /opt/tomcat7.0/logs/catalina.out zur Docker-Datei hinzu. Zusätzliches Wissen: Der von Docker Pull gezogene Tomcat hat keine Protokolle generiert, daher habe ich manuell eine Tocmat-Dockerfile-Datei geschrieben und getestet, ob Protokolle generiert wurden 1. Die Dockfile-Datei und ihre Erklärung sind wie folgt VON openjdk:8-jre BEWAHRER ENV JAVA_HOME /docker-java-home Umgebung CATALINA_HOME /opt/tomcat ENV-PFAD $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$CATALINA_HOME/scripts #Zeitzone RUN echo "Asia/Shanghai" > /etc/zeitzone FÜHREN Sie mv /etc/localtime /etc/localtime_bak aus. RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #KATER Umgebung Tomcat_Major 8 ENV TOMCAT_VERSION 8.5.35 Führen Sie wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.41/bin/apache-tomcat-8.5.41.tar.gz && \ aus. tar -zxvf apache-tomcat-8.5.41.tar.gz && \ rm apache-tomcat*.tar.gz && \ mv apache-tomcat* ${CATALINA_HOME} RUN chmod +x ${CATALINA_HOME}/bin/*sh RUN chmod 777 ${CATALINA_HOME}/logs/ RUN chmod 777 ${CATALINA_HOME}/webapps/ #Benutzernamen und Passwort auf „admin“ setzen HINZUFÜGEN tomcat-users.xml /opt/tomcat/conf/ #Fernzugriff ADD context.xml /opt/tomcat/webapps/manager/META-INF/ ENV LANG zh_CN.UTF-8 #Öffnen Sie Port EXPOSE 8080 # Tomcat starten ARBEITSVERZEICHNIS /opt/tomcat/bin CMD ["catalina.sh","ausführen"] Hinweis: Dieser Docker muss auf externe Dateien verweisen Weitere Einzelheiten finden Sie auf GitHub. 2. Dockerfile-Kompilierungsbefehl
3. Befehl ausführen docker run -d -p 8080:8080 --name tomcat8 -v /opt/docker-tomcat/logs/:/opt/tomcat/logs/ -v /opt/docker-tomcat/webapps/:/opt/tomcat/webapps/ -v /opt/docker-tomcat/context.xml:/opt/tomcat/webapps/manager/META-INF/context.xml -v /opt/docker-tomcat/tomcat-users.xml:/opt/tomcat/conf/tomcat-users.xml --privileged=true zyj/tomcat Die obige Lösung für das Problem, dass Docker Run-Container automatisch beendet werden, ist alles, was ich mit Ihnen teilen kann. Ich hoffe, sie kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Das könnte Sie auch interessieren:
|
<<: Detaillierte Erklärung zweier zu beachtender Punkte bei vue3: Setup
>>: Datenabfragevorgang im MySQL-JSON-Format
Logo-Optimierung: 1. Das Logobild sollte so klein...
So erstellen Sie eine virtuelle Linux-Maschine in...
Vorwort Heutzutage wird in Projekten häufig die A...
Vorne geschrieben Ich weiß nicht, wer als Erster ...
In den letzten Jahren meiner Karriere habe ich an...
MySQL unterstützt viele Arten von Tabellen (d. h....
1. Laden Sie das Tomcat-Image herunter Docker zie...
Inhaltsverzeichnis 1. Domänenübergreifender Filte...
Vorwort Dieser Artikel stellt hauptsächlich die V...
Grundlegende Konzepte Aktueller Lesevorgang und S...
--Backup der Homepage 1.txt-Text 2. Scannen Sie da...
Grid ist ein zweidimensionales Rasterlayoutsystem...
Es gibt drei Möglichkeiten, ein Springboot-Projek...
Zabbix Server-Umgebungsplattform Version: ZABBIX ...
Inhaltsverzeichnis Vorwort Anwendung Zusammenfass...