为什么Docker容器总是在启动后退出?

为什么Docker容器总是在启动后退出?,docker,dockerfile,Docker,Dockerfile,我是码头工人的新手。试图用简单的java代码启动docker容器 我看到打印的Hello World,这意味着我的代码已执行,但容器始终存在 这是我的Dockerfile: FROM nicb/alpine-openjdk8-jre COPY HelloDockerTest.jar / CMD java -jar HelloDockerTest.jar 来自nicb/alpine-openjdk8-jre-这是来自远程存储库的图像 我要做的步骤是: 1. docker build -t tes

我是码头工人的新手。试图用简单的java代码启动docker容器

我看到打印的
Hello World
,这意味着我的代码已执行,但容器始终存在

这是我的Dockerfile:

FROM nicb/alpine-openjdk8-jre
COPY HelloDockerTest.jar /
CMD java -jar HelloDockerTest.jar
来自nicb/alpine-openjdk8-jre
-这是来自远程存储库的图像

我要做的步骤是:

1. docker build -t testtt .
2. docker run -i testtt
3. docker start 2520e85b333a
在最后一步中,我看到了打印的“Hello World”,但当我执行
docker ps
时,我什么也看不到


我做错了什么?

这是Docker正确的预期行为。
ENTRYPOINT
CMD
(大多数情况下)应该运行一个永远运行的命令,或者直到出现故障场景为止


如果将
CMD
行更改为
CMD java-jar HelloDockerTest.jar&&tail-f/dev/null
,则容器不会退出。或者,如果您启动了一个继续运行的java应用程序,您将看到相同的行为

这回答了你的问题吗?你没有做任何不正确的事情,这是应该的。码头工人执行命令,然后。。。它不见了。