Conteneur Docker exécution de tomcat - impossible d'accéder au serveur à l'aide de l'adresse IP de l'hôte
Je suis en train de construire un panneau contenant l'exécution de tomcat à partir d'un menu fixe de fichier. Veuillez trouver ci-dessous le Dockerfile contenu:
FROM ubuntu:trusty
MAINTAINER karthik.jayaraman
VOLUME ["/tomcat/files"]
ADD /files/tar/apache-tomcat-7.0.47.tar.gz /usr/local/tomcat
ADD /files/scripts/. /tmp/tomcat_temp
RUN ls /tmp/tomcat_temp
RUN cp -a /tmp/tomcat_temp/. /etc/init.d
RUN chmod 755 /etc/init.d/tomcat
RUN chkconfig --add tomcat && chkconfig --level 234 tomcat on
ADD /files/config /usr/local/tomcat/apache-tomcat-7.0.47/conf/
ADD /files/lib /usr/local/tomcat/apache-tomcat-7.0.47/lib/
ENV CATALINA_HOME /usr/local/tomcat/apache-tomcat-7.0.47
ENV PATH $PATH:$CATALINA_HOME/bin
EXPOSE 8080
CMD ["service","tomcat","start"]
Quand je crée l'image et de lancer un bash dans le conteneur, avec la commande "Service tomcat start", le serveur est démarré. J'ai vérifié le catalina.fichier et veillé à ce que son fonctionnement. Mais quand j'essaie de l'IP de l'hôte sur lequel le panneau est installé et l'accès au port à l'aide du numéro de port 8080, j'ai pu connecter à tomcat page. Mais quand j'ai spécifier l'adresse IP interne du conteneur - 172.24.0.7:8080, je pouvais voir le tomcat page. Je suppose que le transfert de port n'est pas correctement. Quelqu'un peut me dire l'erreur que je fais ici.
OriginalL'auteur KarthikJ | 2014-06-16
Vous devez vous connecter pour publier un commentaire.
Votre conteneur docker est en cours d'exécution aussi longtemps que la dernière commande n'est pas fait. Vous êtes le démarrage de tomcat en tant que démon. Cela rend docker pour arrêter l'exécution de conteneur dès que tomcat est commencé.
Vous pouvez changer votre dernière ligne:
Ou simplement essayer d'utiliser l'une de créés au préalable tomcat conteneurs de Docker Hub: https://registry.hub.docker.com/search?q=tomcat&s=téléchargements
Alors, comment est-ce que votre Dockerfile ressemble, maintenant?
EXPOSER 8080:9999 CMD service tomcat start && tail-f /usr/local/tomcat/apache-tomcat-7.0.47/logs/catalina.À la place de l'actuelle deux dernières lignes.
Essayez avec
EXPOSE 8080
au lieu deEXPOSE 8080:9999
.Ya il fonctionne. Donc, est-ce à dire que lorsque je créer un conteneur de l'image, je dois spécifier le numéro de port pour être transmis comme "docker run-p 8080:9999 image" -, c'est que la droite.
OriginalL'auteur daniula