Dockerにまだ新しく、Jetty Webサービスをコンテナ内で実行しようとしています。 これは私がプロジェクトのすべての依存関係をインストールし、ソースからの各モジュールのjarファイルを構築するためにmaven install
を指定ドッキングウィンドウのビルド時にDocker:ビルド段階でのみMaven依存関係をインストールしますか?
レシピ
FROM maven:3.3-jdk-8-alpine
# Install packages
# To find packages to install see - https://pkgs.alpinelinux.org/packages
RUN apk add --no-cache curl tar bash wget apache-ant
RUN apk info
# Do any Maven configuration
ENV MAVEN_HOME /usr/share/maven
VOLUME "$USER_HOME_DIR/.m2"
ENV MAVEN_CONFIG "$USER_HOME_DIR/.m2"
# Copy over project source files to the /tmp folder
COPY . /tmp/project
WORKDIR /tmp/project
# Preinstall any Maven depencencies
RUN mvn install -pl '!deb' -DskipTests
# Default command when running the docker image, can be overriden
CMD cd webapp/ && mvn jetty:run
た瞬間に私のドッキングウィンドウのファイルです。
は、ドッキングウィンドウコンテナを実行したときしかし、それはまだすべての依存関係を再インストールしようとすると、次に失敗し、それは私のapi.jarのファイルを見つけることができないので、
マイプロジェクトの構造はとても
プロジェクト構造のようなものです サービス
- API
- libに
- Webアプリケーション
- のpom.xml
エラー
は、以下の成果物は解決できませんでした: com.foo.service:サービスAPI:瓶:1.14-SNAPSHOT
コンテナの外で同じ手順を実行すると問題なく動作し、突堤サービスが正常に開始されます。任意のアイデアを修正する方法?
[ドッカービルドのすべてのMavenの依存関係をダウンロードしない](http://stackoverflow.com/questions/38293073/do-not-downloadの可能性のある重複-all-maven-dependencies-on-a-docker-build) – nwinkler
また興味があるかもしれません:http://stackoverflow.com/questions/39977955/how-to-mount-docker-volume-into-my-docker-project -using-compose – nwinkler
Dockerビルド中に依存関係をダウンロードしたいので便利ではありませんが、Docker実行時に同じプロセスを繰り返す必要はありません – kaleeway