【发布时间】:2020-02-05 13:37:40
【问题描述】:
当我构建我的容器时,它似乎编译没有任何问题:
docker build -t mycompany:1.0.0 .
当我检查docker images 时,容器会显示。
当我尝试使用
在本地托管它时docker run -p 8081:8081 -it mycompany:1.0.0
它返回一个错误说:
Error: Cannot find module '/app/src/myapp.js
我觉得不应该这么复杂。这是我的 docker 文件:
FROM node:10
WORKDIR /app/src
COPY package.json /app
RUN npm install
COPY . /app
CMD node myapp.js
EXPOSE 8081
怎么了?
【问题讨论】:
-
您的
WORKDIR是/app/src,但您将COPY文件写入/app。如果您docker run --rm -it mycompany:1.0.0 bash并四处寻找,您会发现文件系统布局不匹配。 -
myapp.js在哪个目录? -
树看起来像这个 app/src/myapp.js @DavidMaze 它的 def 没有正确复制。我必须在 COPY 中更加明确
-
你能用你的应用程序的树状目录更新你的帖子吗?我怀疑 Dockerfile 的位置不对!
-
你们是对的,我复制的不是正确的路径。我最终做了
COPY . .并解决了大部分问题。现在有一个新错误需要我拖尾容器。