2017-10-05 3 views
0

J'ai un problème avec un conteneur docker ...Docker Container arrêté automatiquement au milieu du serveur de démarrage

Voici mon DockerFile. J'utilise l'image de tomcat et le déploiement de mon dossier de guerre à /usr/local/tomcat/webapps

FROM tomcat 

RUN apt-get update && apt-get -y upgrade 

WORKDIR /usr/local/tomcat 

ADD app.war /usr/local/tomcat/webapps/app.war 

EXPOSE 8091 

J'utilise la commande suivante pour démarrer le conteneur

docker run conteneur -p 8091: 8091 -d imageName

Après En exécutant la commande ci-dessus, je peux voir que le serveur Tomcat démarre. Quand il a commencé complètement, le conteneur s'est arrêté automatiquement.

J'ai essayé d'utiliser différentes commandes comme ci-dessous, mais cela n'a pas aidé.

conteneur docker run -p 8091: 8091 imageName -itd

Suis-je utiliser des paramètres incorrects pour exécuter le conteneur? Dois-je ajouter quelque chose dans mon dockerfile?

+0

Veuillez coller la sortie du journal du conteneur afin que nous puissions voir ce qui ne va pas? –

+0

Utilisez 'COPY' au lieu de' ADD' pour déployer le fichier war dans le conteneur tomcat. Essayez d'utiliser la commande 'docker container run -d --nom tomcat -p 8091: 8091 ' –

+0

Et construisez aussi votre image en premier 'build d'image docker -t hellotomcat .' –

Répondre

0

Vous ne savez pas si ce qui suit fonctionne pour vous, mais essayez de peaufiner votre build Dockerfile &, exécutez les commandes comme indiqué ci-dessous.

FROM tomcat:8.0.20-jre8 

COPY /app.war /usr/local/tomcat/webapps/app.war 

Ensuite, construire et exécuter des commandes comme ci-dessous:

docker build -t app . 
docker run -it --rm -p 8888:8080 app 
+0

Oui. J'ai essayé de changer la commande ADD en COPY. Ça a marché. Maintenant, je peux voir que le serveur Tomcat à l'intérieur du conteneur a démarré. Merci pour votre suggestion @Akash Mishra – babs84

-1

ne sais pas ce que vous voulez faire avec « EXPOSER 9081 » dans le fichier docker, généralement, tomcat image officielle exposer 8080, vous pouvez Voulez-vous exécuter -p 9081: 8080 pour exposer 9081 à partir de 8080