docker启动tomcat访问不了_运行tomcat的Docker容器无法使用主机IP地址访问服务器

I am trying to build a docker container running tomcat from a docker file. Please find below the Dockerfile content:

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"]

When i create the image and run a bash in the container, with the command "Service tomcat start", the server is started. I checked the catalina.out file and ensured that its running. But when i try the host IP on which docker is installed and access the port using the port number 8080, i could connect to tomcat page. But when i specify the internal IP address of the container - 172.24.0.7:8080, i could view the tomcat page. I guess the port forwarding is not properly. Can someone tell me the error i am making here.

解决方案

Your docker container is running as long as last command is not done. You are booting up your tomcat as a daemon. This makes docker to stop running container as soon as tomcat is started.

You can changed your last line to:

CMD service tomcat start && tail -f /var/lib/tomcat/logs/catalina.out

Or just try using one of precreated tomcat containers from Docker Hub: https://registry.hub.docker.com/search?q=tomcat&s=downloads

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值