我用Java为HTTP服务器编写了一个简单的微服务。我可以直接从Windows 10命令提示符从jar文件中运行它,如下所示:
D:\Docker\JoeMicroserviceTest\src>java -jar JoeMicroserviceTest-1.0-SNAPSHOT.jar服务器启动良好,并显示:
服务器启动,按回车停止。
然后,我可以针对服务器发出HTTP请求,一切都很好。
然后,我将其放入一个Docker映像中,当我运行它时,容器启动,nanohttpd服务器启动,然后立即停止。我看到的是:
服务器启动,按回车停止。 服务器停止了。
几乎没有延迟之间的开始和停止。当然,我的容器会退出,因为服务器进程停止了。
这是我的文档:
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为什么会发生这种事?
发布于 2017-12-18 02:01:05
好的,我通过在run命令中添加"-dit“来完成这个任务。以下是工作运行命令:
docker run -dit -p 8080:8080 joe-microservice-test这里的another question帮助解释了为什么需要它。
https://stackoverflow.com/questions/47861060
复制相似问题