gpt4 book ai didi

node.js - 当 Dockerfile 不在 Docker Hub 的根目录中时,出现 "COPY failed: no source files were specified"

转载 作者:太空宇宙 更新时间:2023-11-03 23:14:46 29 4
gpt4 key购买 nike

当我通过 docker-compose up 运行我的应用程序时,它的构建和运行没有任何问题。当我尝试将其托管在 Docker Hub 上时,它无法构建,并出现错误复制失败:未指定源文件。我相信这是因为 Dockerfile 不在根目录中。

我的文件夹结构是这样的:

root
-- docker-compose.yml
-- app
-- Dockerfile
-- package.json
-- package-lock.json
-- src
-- .....

我的 Dockerfile 如下,当我运行 docker-compose up (指向 /app 中的 Dockerfile)时,它运行良好:

FROM node:8.10.0-alpine
WORKDIR /usr/src/app
COPY package*.json /usr/src/app/
RUN npm install --production
COPY . /usr/src/app
EXPOSE 4000
CMD ["npm", "run", "app"]

我想在 Docker Hub 上托管我的项目,但收到以下错误:

Step 1/7 : FROM node:8.10.0-alpine
---> adc4b0f5bc53
Step 2/7 : WORKDIR /usr/src/app
Removing intermediate container 743246352cea
---> 3dcb720d4618
Step 3/7 : COPY package*.json /usr/src/app/
COPY failed: no source files were specified

我设置的指向正确 Dockerfile 位置的构建规则如下:

Docker Hub build rules showing Dockerfile location as app/Dockerfile

当我尝试将 Docker Hub 连接到我的 GitHub 存储库时,我的 Dockerfile 是否错误,或者我是否未正确配置 Docker Hub?

就上下文而言,GitHub 存储库是 here .

最佳答案

在构建配置中,您需要配置“构建上下文”目录,而不是更改 Dockerfile 位置。否则,构建将在 github 存储库的父级中运行,其中 package*.json 文件不存在。在下面的示例中配置自动构建时,请注意“Dockerfile 位置”后面的列:

enter image description here

关于node.js - 当 Dockerfile 不在 Docker Hub 的根目录中时,出现 "COPY failed: no source files were specified",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56855008/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com