[英]No access to apache docker server
在我的docker鏡像中,我需要運行一個Apache服務器來部署我的網站,一個玻璃魚服務器來部署相應的后端以及與后端連接的MongoDB。
我的dockerfile看起來像這樣:
FROM httpd:2.4
FROM glassfish:latest
FROM mongo:3.6
COPY /backend_war_exploded /usr/local/glassfish4/glassfish/domains/domain1/autodeploy/backend_war_exploded
COPY /backend_war_exploded /usr/local/glassfish4/bin/backend_war_exploded
COPY /dist /usr/local/apache2/htdocs/
構建圖像后,我運行並開始於:
docker run -dit --name application -p 80:80 -p 8080:8080 -p 27017:27017 applicationimg
docker start application
當我嘗試通過http://localhost:80
訪問時,它將提供代碼: ERR_EMPTY_RESPONSE
。 后端也一樣,但是我可以在端口27017
上訪問mongodb
。 當我在dockerfile
注釋掉FROM
標記並單獨運行所有內容時,它運行良好。 有人看到錯誤了嗎? 提前致謝。
更新我遵循了您的建議並創建了重寫Dockerfile:
FROM ubuntu:16.04
COPY /dist /var/www/html/
COPY /backend_war_exploded /glassfish4/glassfish/domains/domain1/autodeploy/backend_war_exploded
RUN apt-get update && apt-get install -y apache2
RUN apt-get install -y openjdk-8-jdk
RUN apt-get install -y wget && apt-get install -y unzip
RUN wget http://download.java.net/glassfish/4.1.2/release/glassfish-4.1.2.zip
RUN unzip glassfish-4.1.2.zip
RUN cd /glassfish4/bin/ && ./asadmin start-domain domain1
EXPOSE 80
EXPOSE 8080
Web服務器啟動,並且可以通過localhost:80
但是glassfish服務器在構建映像時啟動,但是在運行docker映像時不再啟動。 當我通過docker exec
訪問容器時,我可以導航到glassfish並手動啟動它。 有什么問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.