2017-01-30 8 views
0

私はmavenアプリケーションでDockerfileを使ってビルドしているノートアプリケーションを持っています。 artifact note-1.0.warをwebappsのようなフォルダにローカルリンクされたボリュームにコピーしたいと思います。これまでのところ私はDockerfileに次き:Dockerfileローカルリンクボリュームへの戦争コピー

FROM maven:latest 
MAINTAINER Sonam <[email protected]> 
RUN apt-get update 

WORKDIR /code 

#Prepare by downloading dependencies 
ADD pom.xml /code/pom.xml 
RUN ["mvn", "dependency:resolve"] 
RUN ["mvn", "verify"] 

#Adding source, compile and package into a fat jar 
ADD src /code/src 
RUN ["mvn", "clean"] 
#RUN ["mvn", "install"] 
RUN ["mvn", "install", "-Dmaven.test.skip=true"] 
RUN mkdir webapps 

COPY note-1.0.war webapps 
#COPY code/target/note-1.0.war webapps 

は、残念ながら、私はCOPY文で「そのようなファイルやディレクトリを」見ていない保ちます。以下は、ドッカーハブのビルドからのエラーです:

... 
---> bd555aecadbd 

Removing intermediate container 69c09945f954 

Step 11 : RUN mkdir webapps 

---> Running in 3d114c40caee 

---> 184903fa1041 

Removing intermediate container 3d114c40caee 

Step 12 : COPY note-1.0.war webapps 

lstat note-1.0.war: no such file or directory 

私は

RUN mkdir webapps 

おかげ

+0

のようなものを使用する必要があります。 – gile

+0

はい、それを見つけることができないようです。どのようにしてそれを作ることができるのか分かり、それを "見つけ"それをコピーするのですか? – Sonam

+0

Dockerfileを保存したのと同じディレクトリにnote-1.0.warをダブルクリックしましたか? COPYの詳細については、https://docs.docker.com/engine/reference/builder/#/copy – gile

答えて

1

COPY命令で実行する「Webアプリケーション」フォルダにwarファイルをコピーすることができますどのように新しいファイルまたはディレクトリを<src>からコピーし、パス<dest>のコンテナのファイルシステムに追加します。 あなたの例では、ドッカービルドはDockerfileと同じディレクトリにあるnote-1.0.warを探しています。 私があなたの意図を理解していれば、Dockerfileの前のRUNからビルドされたイメージの中にファイルをコピーしたいと思っています。 だから、エラーがフォルダのWebアプリケーションに関するものではありませんが、あなたのローカルの作業ディレクトリに存在しないと思われるノート1.0.warについて

RUN cp /code/target/note-1.0.war /code/webapps 
関連する問題