[英]Build a multiplatform JDK/Tomcat docker image to be able to run on Apple Silicon
[英]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.