簡體   English   中英

我正在使用dockerfile進行構建和映像,並且構建並成功運行,但是tomcat尚未啟動

[英]I have working with dockerfile to build and image and it build and run successfully but tomcat is not up

我正在使用Dockerfile構建映像。
Docker文件的內容:

FROM ubuntu
# Update Ubuntu
RUN apt-get update && apt-get -y upgrade
# Add oracle java 7 repository
RUN apt-get -y install software-properties-common
RUN add-apt-repository ppa:webupd8team/java
RUN apt-get -y update
# Accept the Oracle Java license
RUN echo "oracle-java7-installer shared/accepted-oracle-license-v1-1 boolean true" | debconf-set-selections
# Install Oracle Java
RUN apt-get -y install oracle-java7-installer
# Install tomcat
RUN apt-get -y install tomcat7
RUN echo "JAVA_HOME=/usr/lib/jvm/java-7-oracle" >> /etc/default/tomcat7
EXPOSE 8080
# Download Slashdot homepage
RUN mkdir /var/lib/tomcat7/webapps/slashdot
RUN wget http://www.slashdot.org -P /var/lib/tomcat7/webapps/slashdot
# Start Tomcat, after starting Tomcat the container will stop. So use a 'trick' to keep it running.
CMD service tomcat7 start && tail -f /var/lib/tomcat7/logs/catalina.out

當我嘗試使用命令docker build -t sample .構建映像時docker build -t sample . ,映像已成功構建。
當我嘗試使用運行命令

docker run -it --rm -p 8080:8080 sample

它顯示: Starting Tomcat servlet engine tomcat7

但是,當我嘗試打開localhost:8080 ,它顯示webpage is not available

請提出為什么這不起作用。

由於您處於boot2docker環境中,因此這意味着端口8080映射到boot2docker VM(Linux主機)中的8080。 不在您的PC(Windows實際主機)中。

您還需要在Virtualbox中打開端口,以使該端口從Windows主機可見,並使瀏覽器訪問localhost:8080。

請參閱Boot2Docker:無法使端口轉發正常工作
(確保c:\\path\\to\\VirtualBox在您的PATH

您可以設置永久的VirtualBox NAT端口轉發:

VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port8080,tcp,,8080,,8080";

如果虛擬機已經在運行,則應運行另一個命令:

VBoxManage controlvm "boot2docker-vm" natpf1 "tcp-port8080,tcp,,8080,,8080";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM