我正在試驗Docker,並且對它很新穎。我很長一段時間,並沒有得到解決方法,因此在這裏想出了這個問題...Apache Tomcat 8不在碼頭集裝箱內啓動
問題聲明: 我想從包含Apache的docker文件創建一個圖像,山貓安裝。一旦完成,我試圖訪問容器的8080上的tomcat,然後將該容器轉發給主機的8082。但是在運行映像時,我從來沒有在容器中啓動tomcat。
的泊塢文件
FROM ubuntu:16.10
#Install Lynx
Run apt-get update
Run apt-get install -y lynx
#Install Curl
Run apt-get install -y curl
#Install tools: jdk
Run apt-get update
Run apt-get install -y openjdk-8-jdk wget
#Install apache tomcat
Run groupadd tomcat
Run useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Run cd /tmp
Run curl -O http://apache.mirrors.ionfish.org/tomcat/tomcat- 8/v8.5.12/bin/apache-tomcat-8.5.12.tar.gz
Run mkdir /opt/tomcat
Run tar xzvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1
Run cd /opt/tomcat
Run chgrp -R tomcat /opt/tomcat
Run chmod -R g+r /opt/tomcat/conf
Run chmod g+x /opt/tomcat/conf
Run chown -R tomcat /opt/tomcat/webapps /opt/tomcat/work /opt/tomcat/temp opt/tomcat/logs
Run cd /opt/tomcat/bin
Expose 8080
CMD /opt/tomcat/bin/catalina.sh run && tail -f /opt/tomcat/logs/catalina.out
當圖像被內置我試圖通過兩個以下方法
搬運工運行運行容器-d -p 8082:8080圖像標識尾-f/dev/null 雖然使用上述內容,但容器正在運行,但tomcat未在容器內啓動,因此無法從localhost:8082訪問。此外,我沒有看到任何東西,如果我執行搬運工人日誌longcontainerid
搬運工運行-d -p 8082:8080圖像標識/path/to/catalina.sh開始尾-f /開發/空 我看到tomcat的開始時,我做碼頭日誌longconatainrid 雖然使用上面的容器是立即啓動和停止,並沒有運行,因爲我可以從docker ps看到,因此不能從localhost:8082訪問。
任何人都可以請告訴我我要去哪裏嗎?
P.s.我在互聯網上搜索了很多東西,但無法正確處理。可能是有一些概念,我不清楚。
爲什麼不使用https://hub.docker.com/_/tomcat/中的參考Tomcat?順便說一下(這不是你的問題),你應該在你的Dockerfile中將你的RUN分組,請參閱https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/ – user2915097