2017-12-22 1 views
0

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에 직접 볼륨을 사용할 수 있습니다

답변

0

이 블록을 구축 바람둥이 병렬 아래에있을 것입니다

volumes: 
    - Path_on_local_pc:Path_on_container 

파일 및 포트

당신은 마찬가지로 추가 할 수 있습니다
tomcat: 
    container_name: tomcat-container 
    build: 
     context: . 
     dockerfile: Dockerfile_tc 
    ports: 
     - "8080:8080" 
    volumes: 
     - Path_on_local_pc:Path_on_container 

. 같은 대한

참조 - https://www.linux.com/learn/docker-volumes-and-networks-compose

+0

안녕과 대답 주셔서 감사합니다! 내 코드를 git에서 maven 컨테이너로 직접 다운로드한다. 나는 그 코드 나 .war 파일을 로컬로 가지고 있지 않다. 내 경우에 Path_on_local_pc은 무엇입니까? – hmmaros

+0

컨테이너에 복사 할 파일입니다. 해당 파일의 경로가됩니다 – Arora20

+0

하지만 복사하려는 파일은 다른 컨테이너에 있습니다. war 파일은 maven 컨테이너에 있고이 파일을 tomcat 컨테이너에 복사하려고합니다. 어쩌면 두 권 필요합니까? – hmmaros

관련 문제