mock 및 tomcat을 docker로 사용하여 Java 웹 응용 프로그램을 배포하려고합니다. 두 개의 Dockerfiles를 사용하고 있는데 하나는 내 maven 프로젝트에 사용하고 하나는 바람둥이로 작성하여 도커로 작성한 다음 maven 컨테이너의 .war 파일을 tomcat 컨테이너로 복사하지만 실제로는 그렇지 않습니다. 볼륨과 함께 할 수있는 방법이 있다는 것을 확신하고 내 질문입니다. 내 파일이 ...Docker Compose - 볼륨을 사용하여 tomcat에서 java 웹 응용 프로그램 (war 파일)을 실행하십시오.
받는다는 Dockerfile 있습니다
FROM maven:3.5.2-jdk-8
RUN git clone mygitproject
# Create app directory
WORKDIR mics-project
RUN mvn install
바람둥이 Dockerfile_tc
FROM tomcat:8.0-jre8
# Create app directory
WORKDIR /usr/local/tomcat/bin
CMD ["catalina.sh", "run"]
EXPOSE 8080
고정 표시기 - compose.yml
version: '3'
services:
maven:
container_name: maven-container
build:
context: .
dockerfile: Dockerfile
tomcat:
container_name: tomcat-container
build:
context: .
dockerfile: Dockerfile_tc
ports:
- "8080:8080"
그리고 나는 박쥐 파일을 가지고 메신저에 내 전쟁 파일을 복사하는 일부 명령을 실행하는 ...
cd C:\Users\Administrator\Project\mics-project
del "mics-project.war" >nul 2>&1
start docker cp maven-container:/mics-project/target/mics-project.war c:/Users/Administrator/Project/mics-project
start docker cp c:/Users/Administrator/Project/mics-project/mics-project.war tomcat-container:/usr/local/tomcat/webapps/
작동합니다! 하지만 어떻게 이러한 명령을 실행하는 대신 docker-compose.yml 파일에 볼륨을 사용할 수 있습니까? 당신은 YAML에 직접 볼륨을 사용할 수 있습니다
안녕과 대답 주셔서 감사합니다! 내 코드를 git에서 maven 컨테이너로 직접 다운로드한다. 나는 그 코드 나 .war 파일을 로컬로 가지고 있지 않다. 내 경우에 Path_on_local_pc은 무엇입니까? – hmmaros
컨테이너에 복사 할 파일입니다. 해당 파일의 경로가됩니다 – Arora20
하지만 복사하려는 파일은 다른 컨테이너에 있습니다. war 파일은 maven 컨테이너에 있고이 파일을 tomcat 컨테이너에 복사하려고합니다. 어쩌면 두 권 필요합니까? – hmmaros