我正在设置一个基本的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?
答案 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