도커 컨테이너에서 실행되는 Tomcat 8에 Java webapp 배포
Tomcat과 Docker는 처음이라 이 질문의 어딘가에 Tomcat 기본이 없는 것 같습니다.
Spring Boot Restful 웹 서비스를 실행하는 Docker 컨테이너를 구축하여 정적 데이터만 반환하려고 합니다.이것은 모두 OSX에서 동작하고 있기 때문에 Boot2Docker도 사용하고 있습니다.
앱이 실행되는 컨테이너를 만들기 위해 Docker 파일을 직접 작성했습니다.
FROM tomcat:8.0.20-jre8
RUN mkdir /usr/local/tomcat/webapps/myapp
COPY /1.0-SNAPSHOT/my-app-1.0-SNAPSHOT.war /usr/local/tomcat/webapps/myapp/
이 Dockerfile은 정상적으로 동작하며 생성된 이미지에서 컨테이너를 시작할 수 있습니다.
docker build -t myapp .
docker run -it --rm -p 8888:8080 myapp
이 컨테이너는 올바르게 시작되고 오류가 없으며 앱이 배포되었다는 메시지가 표시됩니다.
22-Mar-2015 23:07:21.217 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory
Deploying web application directory /usr/local/tomcat/webapps/myapp
컨테이너에 myapp도 올바르게 포함되어 있습니다.도커 파일에 설명된 경로에 전쟁이 복사되었습니다.또한 Tomcat 기본 페이지로 이동하여 Tomcat이 실행 중인지 확인할 수 있으며, 모든 예를 누를 수도 있습니다.
이 문제에 대해 http://192.168.59.103:8888/myapp/getData로 이동하면 404가 표시됩니다.나는 이유를 잘 모르겠다.Tomcat으로의 .war 전개에 대해 뭔가 부족한 점이 있습니까?
복사하려고 합니다.war아래 디렉토리에 파일하다webapps. 전쟁 파일을 복사해야 합니다.webapps디렉토리로 이동합니다.
mkdir 명령어를 삭제하고war다음과 같은 파일:
COPY /1.0-SNAPSHOT/my-app-1.0-SNAPSHOT.war /usr/local/tomcat/webapps/myapp.war
Tomcat은 다음과 같은 경우에 전쟁을 추출합니다.autodeploy켜져 있습니다.
이거 오넬라이너 있어요.
그냥 뛰기만 하면 돼
docker run -v /1.0-SNAPSHOT/my-app-1.0-SNAPSHOT.war:/usr/local/tomcat/webapps/myapp.war -it -p 8080:8080 tomcat
이렇게 하면 webapps 디렉토리에 워 파일이 복사되어 앱이 즉시 실행됩니다.
Tomcat은 다음에 복사된 전쟁만 추출합니다.webapps디렉토리로 이동합니다.바꾸다Dockerfile다음과 같습니다.
FROM tomcat:8.0.20-jre8
COPY /1.0-SNAPSHOT/my-app-1.0-SNAPSHOT.war /usr/local/tomcat/webapps/myapp.war
webroot를 지정하지 않은 경우 다음과 같이 URL에 액세스해야 할 수 있습니다.
http://192.168.59.103:8888/myapp/getData
언급URL : https://stackoverflow.com/questions/29201262/deploying-java-webapp-to-tomcat-8-running-in-docker-container
'programing' 카테고리의 다른 글
| 반응 선택:"경고: Prop 'id'가 일치하지 않음"을 해결하려면 어떻게 해야 합니까? (0) | 2023.03.01 |
|---|---|
| 안전하지 않은 인라인 JavaScript/CSS 코드 없이 React를 사용하는 방법 (0) | 2023.03.01 |
| $scope와 $rootScope의 차이 (0) | 2023.03.01 |
| ng-style로 div의 배경 이미지를 설정하는 방법 (0) | 2023.03.01 |
| Wordpress 테마 커스터마이저 - 사용자가 이동하고 위젯을 구성할 수 있는 영역 추가 (0) | 2023.03.01 |