2016-01-28 26 views
17

イメージにJavaおよびcoppying jarファイルでドッキングイメージを作成します。 私Dockerfileは次のとおりです。コンソールでドッカーイメージでjarファイルを実行する

FROM anapsix/alpine-java 
MAINTAINER myNAME 
COPY testprj-1.0-SNAPSHOT.jar /home/testprj-1.0-SNAPSHOT.jar 
RUN java -jar /home/testprj-1.0-SNAPSHOT.j 

した後、次のコマンドを実行し

docker build -t imageName. 

私は、アプリケーションとeverthingからの出力で結構です参照してください。 しかし、画像を停止すると、画像をもう一度実行する方法がわかりません。アプリケーションを再度実行

docker run -i -t imageName java -jar /home/testprj-1.0-SNAPSHOT.jar 

、私Dockerfileに私はすでに、このコマンドを書いた: は、ときに以下のコマンドを実行します。このコマンドとアプリケーションが自動的に実行されずにイメージを実行する方法は?

答えて

35

画像とコンテナには違いがあります。

  • 画像ONCE構築されます
  • あなたはあなたのケースの画像

からコンテナを起動することができます。

があなたのイメージを変更します。

FROM anapsix/alpine-java 
MAINTAINER myNAME 
COPY testprj-1.0-SNAPSHOT.jar /home/testprj-1.0-SNAPSHOT.jar 
CMD ["java","-jar","/home/testprj-1.0-SNAPSHOT.jar"] 

あなたのイメージをビルドします。

docker build -t imageName . 

今、容器内のあなたのプログラムを起動します。

docker restart myProgram 

あなたのプログラムが変更:

docker run --name myProgram imageName 

は今、コンテナを再起動して、プログラムを再起動しますか?イメージを再構築してください!:

docker rmi imageName 
docker build -t imageName . 
+2

「エラー:jarfile /opt/helloworld.jarにアクセスできません」というエラーが表示されます。私は瓶に許可を与える必要がありますか? –

+0

これは私に起こったことです:jarへのパスが正しくありません。あなたはそれをチェックすべきです。 – Sam003

+0

私も相対名のために失敗しました... – chenchuk

関連する問題