首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Docker容器中运行时,Nanohttpd立即退出

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

Stack Overflow用户
提问于 2017-12-18 01:26:32
回答 1查看 244关注 0票数 1

我用Java为HTTP服务器编写了一个简单的微服务。我可以直接从Windows 10命令提示符从jar文件中运行它,如下所示:

代码语言:javascript
运行
复制
D:\Docker\JoeMicroserviceTest\src>java -jar JoeMicroserviceTest-1.0-SNAPSHOT.jar

服务器启动良好,并显示:

服务器启动,按回车停止。

然后,我可以针对服务器发出HTTP请求,一切都很好。

然后,我将其放入一个Docker映像中,当我运行它时,容器启动,nanohttpd服务器启动,然后立即停止。我看到的是:

服务器启动,按回车停止。 服务器停止了。

几乎没有延迟之间的开始和停止。当然,我的容器会退出,因为服务器进程停止了。

这是我的文档:

代码语言:javascript
运行
复制
FROM openjdk:8
COPY ./src/ /usr/src/JoeMicroserviceTest
WORKDIR /usr/src/JoeMicroserviceTest
CMD ["java","-jar","JoeMicroserviceTest-1.0-SNAPSHOT.jar"]
EXPOSE 8080

我是这样建造的:

代码语言:javascript
运行
复制
docker build -t joe-microservice-test .

我是这样运作的:

代码语言:javascript
运行
复制
docker run -p 8080:8080 joe-microservice-test

为什么会发生这种事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-18 02:01:05

好的,我通过在run命令中添加"-dit“来完成这个任务。以下是工作运行命令:

代码语言:javascript
运行
复制
docker run -dit -p 8080:8080 joe-microservice-test

这里的another question帮助解释了为什么需要它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47861060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档