Node.js 使用命令“Docker container run”后,将不显示我的容器

Node.js 使用命令“Docker container run”后,将不显示我的容器,node.js,docker,dockerfile,Node.js,Docker,Dockerfile,我目前正在学习Docker中的项目- Edounix学习解决方案视频教程,当我构建应用程序容器时,控制台会返回应用程序的ID。到目前为止一切都还好。然后,当我立即运行container ls时,它会显示容器。但一秒钟后,容器不再显示在容器列表中 当我运行sudo docker ps-a时,容器也不会显示 我不明白为什么 这是我的驯服文件: FROM node RUN apt-get update -q && apt-get dist-upgrade -y && a

我目前正在学习Docker中的项目- Edounix学习解决方案视频教程,当我构建应用程序容器时,控制台会返回应用程序的ID。到目前为止一切都还好。然后,当我立即运行container ls时,它会显示容器。但一秒钟后,容器不再显示在容器列表中

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

我不明白为什么

这是我的驯服文件:

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"]
如果有人有任何暗示,那就太好了,
谢谢

我建议您查看日志。您的JS应用程序中可能存在错误,并且在执行npm start后的短时间内崩溃。容器制造好了,它开始了,但很快就关闭了。这是因为docker container ls只显示正在运行的容器,而您必须使用docker container ls-all来查看未运行的容器。您可以使用查看检查日志,也可以调整Dockerfile,使其保留应用程序的日志,方法是将最后一行更改为: 运行npm启动| tee/logs/app.log
然后检查该文件

谢谢Bogdan,关于读者信息,我已经删除了-rm标志,使容器在列表中可用,如果有-all标志的话