mockとtomcatをドッカーで使用してJava Webアプリケーションを配備しようとしています。私は2つのDockerfilesを使用しています.1つは私のMavenプロジェクト用、もう1つはTomcat用のDocker-Composeで作成して、次にMavenコンテナから.warファイルをtomcatコンテナにコピーしますが、本当に好きではありません。ボリュームでそれを行う方法があり、私の質問であることを確かめてください。私のファイルは、これらの...Docker Compose - ボリュームを使用してtomcat上でJava Webアプリケーション(warファイル)を実行する
のmaven Dockerfile
FROM maven:3.5.2-jdk-8
RUN git clone mygitproject
# Create app directory
WORKDIR mics-project
RUN mvn install
Tomcatの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"
ですし、私は.BATファイルを持っており、私の戦争ファイルをtomcatにコピーするいくつかのコマンドを実行しています...
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ファイルでこれらのコマンドを実行する代わりにボリュームを使用できますか?
こんにちは、ありがとうございました!私のコードをgitからmavenコンテナに直接ダウンロードしています。私はコードやローカルの.warファイルを持っていません。私の場合、Path_on_local_pcとは何ですか? – hmmaros
コンテナにコピーするファイル。そのファイルのパスになります – Arora20
しかし、私がコピーしたいファイルは他のコンテナにあります。 warファイルはmavenコンテナにあり、このファイルをtomcatコンテナにコピーしたいと思います。たぶん私は2つのボリュームが必要ですか? – hmmaros