2016-10-14 3 views
2

학교 프로젝트 용으로 만든 webapp를 브라우저에 표시하려고합니다. 우선 Dockerfile과 내 .war 파일을 같은 폴더에 넣습니다. /home/giorgio/Documenti/dockerProject.Docker를 사용하여 tomcat에서 webapplication을 실행할 수 없습니다.

# Pull base image 
From tomcat:7-jre7 

# Maintainer 
MAINTAINER "xyz <[email protected]"> 

# Copy to images tomcat path 
RUN rm -rf /usr/local/tomcat/webapps/ROOT 
COPY file.war /home/giorgio/Documenti/apache-tomcat-7.0.72/webapps/ 

는 다음 나는 우분투 쉘에서 명령을 사용하여 이미지를 구축 한 : 나는 다음 내 Dockerfile에 쓴 마지막

docker build -t myName /home/giorgio/Documenti/dockerProjects 

, 나는 쉘에서 실행했습니다

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

이제 모든 것이 잘 작동하고 브라우저에 아무것도 나타나에서 나는 그럼에도 불구하고 바람둥이 완벽하게 정상적으로 실행 시작, localhost:8080에 도달 할 때 그러나, 모든 오류를 표시하지 않습니다.

볼 수없는 난해한 문제에 대한 의견이 있으십니까? 감사합니다.

+0

,하지만 당신은 컨테이너에 hello.py 파일을 복사 : 같은

그래서 당신의 Dockerfile는해야 보입니다. war 파일을 배포 하시겠습니까? –

+0

'docker logs myName'이 컨테이너 출력을 표시합니다. 아마도 오류가 거기에 버려지고 있습니다. – STLMikey

+0

예, hello.py는 단지 테스트였습니다. 나는 그 질문을 편집했다. @STLMikey 지금 시도해보고 출력을 게시합니다. – Pino

답변

1

이것은 전체 Dockerfile입니까? 전용 (지역은/usr/수 있어야 질문에 아마 잘못된 폴더 -

당신은 단지 모든 ROOT 컨텐츠를 제거하기 때문에 (3 단계)

는 응용 프로그램 (4 단계)로 war 파일을 복사/바람둥이/웹 어플리케이션/)

그러나 나는 어떤 엔드 포인트를 참조하거나 전경 응용 프로그램을 시작하지 않습니다.

CMD ["/usr/local/tomcat/bin/catalina.sh", "run"] 

을하고 그냥 바람둥이 실행하여 :

나는 당신이 추가 할 필요가 가정합니다. 그리고 그것은 EXPOSE 포트에 루틴이지만, -p 도커를 사용할 때 암시적인 노출을합니다. 당신은 전쟁 파일을 언급

# Pull base image 
From tomcat:7-jre7 

# Maintainer 
MAINTAINER "xyz <[email protected]"> 

# Copy to images tomcat 
RUN rm -rf /usr/local/tomcat/webapps/ROOT 

# fixed path for copying 
COPY file.war /usr/local/tomcat/webapps/ 

# Routine for me - optional for your case 
EXPOSE 8080 

# And run tomcat 
CMD ["/usr/local/tomcat/bin/catalina.sh", "run"] 
+0

답변 해 주셔서 감사합니다. 그러나 아무 것도 바뀌지 않는 것 같습니다. localhost의 동일한 빈 페이지 : 8080 – Pino

+0

빈 페이지 또는 페이지를 찾을 수 없습니까? 전쟁 신청서에 어떤 문맥이 있습니까? 그렇다면 localhost : 8080/context를 사용할 필요가 있습니다. – VladoDemcak

+0

'localhost : 8080/file'을 테스트 할 수 있습니다 - 파일의 이름은 context 여야합니다. 또는 테스트 목적'COPY file.war/usr/local/tomcat/webapps/ROOT.war' 및 localhost : 8080에 대한 추한 솔루션 – VladoDemcak

관련 문제