ドッカーで初心者です。ドッカーを使って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という)を確認したいです作業、それは正常に動作します。 展開とドッキングウィンドウ
https://stackoverflow.com/questions/37461868/whats-the-difference-between-run-and-cmd-in-a-docker-file-and-when-should-i-use –
を更新しました質問; –
それはバックグラウンドでそれを置くので、私はあなたがnohupを必要とは思わない。 foergroundでは何も実行されていないので、ドッカーコンテナは停止します。 &と同じです。コンテナを実行し続けるには、ジョブをフォアグラウンドで実行する必要があります。 – dskow