Nanohttpd在Docker容器中运行时立即退出

我使用nanohttpd为HTTP服务器编写了一个Java中的简单微服务。我能够从jar文件直接从Windows 10命令提示符下这样运行:Nanohttpd在Docker容器中运行时立即退出

D:\Docker\JoeMicroserviceTest\src>java -jar JoeMicroserviceTest-1.0-SNAPSHOT.jar 

服务器启动正常,并显示:

服务器启动后,点击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 

为什么会这样发生?

回答:

好吧,我通过在运行命令中加入“-dit”来实现这个工作。这里是工作运行命令:

docker run -dit -p 8080:8080 joe-microservice-test 

这里的another question这有助于解释为什么它的需要。

以上是 Nanohttpd在Docker容器中运行时立即退出 的全部内容, 来源链接: utcz.com/qa/260407.html

回到顶部