当docker run命令时,容器退出

时间:2017-08-14 05:18:11

标签: docker

Dockerfile

FROM node:8.1.0
RUN http-server
RUN mkdir /app
COPY . /app
WORKDIR /app
RUN npm install
EXPOSE 2000

成功构建图像

docker run -d -p 8101:2000 --name xyz image

创建和退出容器。 运行docker logs container_id时,不显示任何内容。

这是我正在关注的过程,但无法知道我的容器退出的原因。

3 个答案:

答案 0 :(得分:1)

它正在运行默认入口点,当入口点完成其工作时,容器退出。

如果要编辑入口点,则可以指定自己的入口点,也可以查看默认入口点正在执行的操作。您可以在library/node

中找到特定版本的dockerfile和入口点详细信息

答案 1 :(得分:0)

只要使用docker文件中的CMD命令启动进程仍在运行,Docker容器就会运行。

在您的情况下,您没有在docker文件中指定CMD命令,因此您的容器将立即退出。

我可以看到你打算运行一个http服务器。在这种情况下,请删除RUN http-server并最后将其替换为CMD http-server

答案 2 :(得分:0)

You can try ping google.com as a CMD or ENTRYPOINT to enable continuous process of a container. There are scenarios that you really need to let that container still run even though it's process should end quickly. Example is when your cron is not yet ready for automated scraping