如何从cmd容器内部获取输出?

时间:2018-07-06 13:51:22

标签: docker

我正在设置一个基本的docker容器,该容器在my-app文件夹中包含一个server.js脚本。

我的dockerfile看起来像这样:

#Use node parent image
FROM node:9.6.1

#Set the working directory to /my-app
WORKDIR /my-app


# Make port 80 available to the world outside this container
EXPOSE 80


cmd pwd
RUN npm install


# start app
CMD node server.js

找不到server.js文件,我正在尝试通过将pwd打印到终端来调试它。当找不到server.js文件时出现错误,但CMD pwd似乎被忽略了。如何在容器中打印以找出为什么无法执行server.js?

2 个答案:

答案 0 :(得分:0)

您可以使用docker run yourcontainername启动容器(如果已停止),以查看出了什么问题。

如果容器继续运行(可能没有运行),则可以使用docker exec -it yourcontainername bash进入容器,找出问题所在。

ps::您可能在Dockerfile中缺少以下内容:COPY server.js /my-app/

答案 1 :(得分:0)

将Dockerfile更改为:

FROM node:9.6.1
RUN mkdir -p /my-app
WORKDIR /my-app
COPY . /my-app
RUN npm install
EXPOSE 80
CMD node server.js