我目前正在尝试通过“ 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"]
如果有人有任何提示,那就太好了, 谢谢
答案 0 :(得分:1)
我建议您检查日志。在您的JS应用中可能会出现错误,并且在执行npm start之后不久就会崩溃。这样容器就制成了,它开始了,但是不久之后就关闭了。这是因为docker container ls
仅向您显示正在运行的容器,并且您必须使用docker container ls --all
来查看未运行的容器。您可以使用docker logs查看日志,也可以通过将最后一行更改为以下内容来修改Dockerfile,使其保留应用程序的日志:
RUN npm start | tee /logs/app.log
然后检查该文件