2017-12-15 10 views
1

ドッカーで初心者です。ドッカーを使ってJava戦争を展開する

は私がDockerfileサーバー1

作成された中で、私がインストールされているドッキングウィンドウをドッキングウィンドウ

を使用してJavaアリ戦争アプリケーションをデプロイしたい:

docker build -t myapp . 

FROM java:8 
EXPOSE 8116 
ADD myapp.war myapp.war 
ADD jetty-runner-9.4.8.v20171121.jar jetty-runner-9.4.8.v20171121.jar 
RUN mkdir temp_dir 
CMD ["nohup", "java" , "-Dorg.eclipse.jetty.server.Request.maxFormContentSize=10000000" , "-Xms64m" , "-Xmx128m" , "-Djava.io.tmpdir=temp_dir" , "-jar" ,"jetty-runner-9.4.8.v20171121.jar" ,"--log" ,"myapp-docker-request.log" ,"--out","myapp-docker-output.log" ,"--port" , "8116", "--path" , "/myapp-docker" ,"myapp.war" , "&" ] 

としてイメージを構築します

実行単位:

docker run -p 8116:8116 myapp 

上場ながら:

[[email protected] ~]# docker ps --all 
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS      PORTS    NAMES 
068751d27d8f  myapp    "nohup java -Dorg.ecl" 9 seconds ago  Exited (1) 7 seconds ago      berserk_lovelace 

をそれが始めるされていません。レポートはよう:

[[email protected] ~]# docker run -p 8116:8116 myapp 

2017-12-15 11:21:50.653:INFO::main: Logging initialized @148ms to org.eclipse.jetty.util.log.StdErrLog 
2017-12-15 11:21:50.661:INFO:oejr.Runner:main: Runner 
2017-12-15 11:21:50.729:INFO:oejr.Runner:main: Redirecting stderr/stdout to myapp-docker-output.log 

私が直接確認するために、私はSERVER1でmyappを展開しているhttp://server1:8116 (サーバ1に配備されたドッカーアプリケーション)

を使用して、ブラウザでの展開のアプリ(myappという)を確認したいです作業、それは正常に動作します。 展開とドッキングウィンドウ

+0

https://stackoverflow.com/questions/37461868/whats-the-difference-between-run-and-cmd-in-a-docker-file-and-when-should-i-use –

+0

を更新しました質問; –

+1

それはバックグラウンドでそれを置くので、私はあなたがnohupを必要とは思わない。 foergroundでは何も実行されていないので、ドッカーコンテナは停止します。 &と同じです。コンテナを実行し続けるには、ジョブをフォアグラウンドで実行する必要があります。 – dskow

答えて

0

実行/最後のコマンドのために([]で)配列構文を使用してみてくださいを使用して、それをチェックする必要があります。https://docs.docker.com/engine/reference/builder/#cmd またRUN cd、作業ディレクトリ各RUNリセットを何もしません。

+0

と表示されます。 –

関連する問題