首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试停靠node.js文件,但一直收到错误

尝试停靠node.js文件,但一直收到错误
EN

Stack Overflow用户
提问于 2017-12-13 01:37:52
回答 1查看 94关注 0票数 0
代码语言:javascript
运行
复制
FROM node:7
WORKDIR ~/Desktop/CS612
COPY package.json ~/Desktop/CS612
RUN npm install
COPY . ~/Desktop/CS612
CMD node server.js
EXPOSE 3000

好的,我已经切换了它,并且能够走到这一步:

代码语言:javascript
运行
复制
Step 5/7 : COPY . ~/Desktop/CS612/
 ---> 885080c48872
Step 6/7 : CMD node server.js
 ---> Running in 7ffbaeec889f
 ---> 61654068c183
Removing intermediate container 7ffbaeec889f
Step 7/7 : EXPOSE 3000
 ---> Running in 6862095ac871
 ---> abb84902c53b
Removing intermediate container 6862095ac871
Successfully built abb84902c53b
Successfully tagged restaurants:latest
Danas-MacBook-Air:CS612 DanaCarlin$ docker run restaurants
module.js:538
 throw err;
 ^

Error: Cannot find module '/~/Desktop/CS612/server.js'
at Function.Module._resolveFilename (module.js:536:15)
at Function.Module._load (module.js:466:25)
at Function.Module.runMain (module.js:676:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3

为什么我现在收到这个错误?这没有任何意义,这绝对是一个保存请求和响应的文件

EN

回答 1

Stack Overflow用户

发布于 2017-12-13 03:15:42

WORKDIR ~/Desktop/CS612

WORKDIR指定容器内的工作目录,而不是Danas-MacBook-Air上的目录。主机工作目录更接近Docker所说的MacBook air上的构建上下文。

此外,Docker需要容器中的绝对路径。您将在容器/~/Desktop/CS612中创建一个目录,完成构建后,所有后续Dockerfile命令都将从该目录运行。可能不是你想要的。

tl;dr丢弃Dockerfile文件中的相对路径(~/)。示例:COPY . /Desktop/CS612

编辑:反映原始问题中的更改

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47778448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档