使用命令“ Docker container run”后,我的容器未显示

时间:2018-09-06 22:07:06

标签: node.js docker dockerfile

我目前正在尝试通过“ Docker项目- “ Eduonix Learning Solutions”视频教程,当我构建我的应用程序容器时,控制台会向我返回应用程序的ID。到目前为止,一切正常。然后,当我立即运行容器ls时,它将显示该容器。但过了一秒钟,该容器不再显示在容器列表中。

当我运行sudo docker ps -a时,该容器也不显示。

我不知道为什么。

这里是我的Dockfile:

FROM node
RUN apt-get update -q && apt-get dist-upgrade -y && apt-get clean && apt-get autoclean
EXPOSE 3000
ENV APP_PATH /usr/share/app
RUN mkdir -p $APP_PATH && chown node:node $APP_PATH
WORKDIR $APP_PATH
USER node
COPY . $APP_PATH/
RUN npm install
CMD ["npm","start"]

如果有人有任何提示,那就太好了, 谢谢

1 个答案:

答案 0 :(得分:1)

我建议您检查日志。在您的JS应用中可能会出现错误,并且在执行npm start之后不久就会崩溃。这样容器就制成了,它开始了,但是不久之后就关闭了。这是因为docker container ls仅向您显示正在运行的容器,并且您必须使用docker container ls --all来查看未运行的容器。您可以使用docker logs查看日志,也可以通过将最后一行更改为以下内容来修改Dockerfile,使其保留应用程序的日志:     RUN npm start | tee /logs/app.log 然后检查该文件