2017-12-16 6 views
0

私の問題を解決するのを手伝ってください。ドッキングウィンドウのアップグレードをjarへの絶対パスを持たない新しいスプリングブートJARを使用してコンテナを再起動するにはどうすればよいですか?

、もはや機能し、絶対パスでコンテナにjarファイルを追加します。どのようにして、コンテナの再起動時に新しい瓶が回収されたか? 新しいJARを作成してコンテナを再起動しましたが、Dockerfileの新しいJARへの絶対パスを指定することは不可能なので、これを行うことはできません。

ドッカーの新しいバージョンにアップデートする前に私のドッカーファイルがありました。彼から私は問題なくイメージを作りました。

FROM java:8 

VOLUME /tmp 
EXPOSE 8888 
ADD /home/jdev/docker-storage/jenkins/workspace/CA/build/libs/ca.jar /app.jar 
RUN bash -c 'touch /app.jar' 
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] 

相対パスを指定する必要があるため、イメージを作成できません。再起動後、新しいイメージはDockerコンテナにコピーされません。 Dockerfileは/ home/jdevにあります。助けのための

ADD docker-storage/jenkins/workspace/CA/build/libs/ca.jar /app.jar

ありがとう!

答えて

0

Dockerコンテナを不変のコンテナとして扱う必要があります。このアプローチを使用すると、発生している問題のほとんどが消えてしまいます。

この設定は、最近よくかなりうまくいっています。 Mavenを使用しているかどうかは不明です。これはMavenベースのソリューションです。

まず、プロジェクトのルート内dockerディレクトリを作成します。

新しいディレクトリにこのDockerfileを追加

FROM java:8u111-jdk-alpine 

COPY *.jar target/@[email protected]@[email protected] 

CMD java -Xmx512m -jar target/@[email protected]@[email protected] 

設定のMavenは新しいdockerディレクトリで動作するようにしてDockerfile

pom.xml

  <resource> 
      <directory>${project.basedir}/docker</directory> 
      <filtering>true</filtering> 
      <targetPath>..</targetPath> 
     </resource> 
に以下を追加します(必要な特定の設定が含まれます)

今すぐプロジェクトをパッケージ化すると、正しいフォルダ内の

関連する問題