HTTPサーバー用にnanohttpdを使用してJavaで単純なマイクロサービスを作成しました。私はこのようなWindowsの10コマンドプロンプトから直接jarファイルから実行することができる午前:Dockerコンテナで実行するとすぐにNanohttpdが終了する
D:\Docker\JoeMicroserviceTest\src>java -jar JoeMicroserviceTest-1.0-SNAPSHOT.jar
サーバは罰金やディスプレイを開始:
Serverを起動、停止するにはEnterキーを押します。
私はサーバーに対してHTTP要求を行うことができ、すべてがうまくいきます。
私はそれをDockerイメージに入れ、それを実行するとコンテナが起動し、nanohttpdサーバーが起動し、すぐに停止します。これは私が見るものです:
サーバーが起動したら、Enterキーを押して停止します。
サーバーが停止しました。
開始と停止の間にかなりの遅延はありません。そして、サーバープロセスが停止したので、もちろん、私のコンテナは終了します。ここで
は私dockerfileです:
FROM openjdk:8
COPY ./src/ /usr/src/JoeMicroserviceTest
WORKDIR /usr/src/JoeMicroserviceTest
CMD ["java","-jar","JoeMicroserviceTest-1.0-SNAPSHOT.jar"]
EXPOSE 8080
私はこのようにそれを構築する:
docker build -t joe-microservice-test .
私はこのようにそれを実行します。
docker run -p 8080:8080 joe-microservice-test
は、なぜこれが起こっされるだろうか?
バックグラウンドで実行する '-d'(' Detached') – BMW
@BMW、私はそれを試しました。長い文字列を出力した後、コマンドプロンプトに戻ります。私が "docker ps"を実行すると、コンテナの一覧が表示されず、サーバーに対してHTTPリクエストを行うことができないため、実行されていないようです。 – JoeMjr2