首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >docker未能计算缓存键: /path未找到:未找到

docker未能计算缓存键: /path未找到:未找到
EN

Stack Overflow用户
提问于 2021-10-11 00:34:37
回答 2查看 173关注 0票数 0

我刚从码头开始,我正在从我的代码创建码头形象。以下是dir结构

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
project
  /deployment
     /Dockerfile.project1
  /services
     /ui
        /project1

下面是Dockerfile.project1中的代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
FROM node:14

# arguments
ARG BUILD_COMMIT
ARG BUILD_BRANCH
ARG BUILD_TAG
# port number for app
ARG PORT=3000
ARG APP=adam_website_ui

LABEL build.tag=${BUILD_TAG}
LABEL app=${APP}

# set the env
ENV BUILD_BRANCH=${BUILD_BRANCH}
ENV BUILD_COMMIT=${BUILD_COMMIT}


WORKDIR /app

# Assiging user
USER root
RUN echo "$(date '+%Y-%m-%d %H:%M:%S'): ======> Setup Appusr" \
    && groupadd -g 1001 appusr \
    && useradd -r -u 1001 -g appusr appusr \
    && mkdir /home/appusr/ \
    && chown -R appusr:appusr /home/appusr/\
    && chown -R appusr:appusr /app

# copy the relavant code
COPY ../services/ui/project1 /app/

# installing deps
RUN npm install 
RUN npm run build
RUN SET PORT=${PORT} && npm start

USER appusr:appusr

但这表明

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 => ERROR [4/7] COPY ../services/ui/project1 /app/                                                                         0.0s 
------
 > [4/7] COPY ../services/ui/project1 /app/:
------
failed to compute cache key: "/services/ui/project1" not found: not found

我正在使用deployment文件夹中的这个命令构建

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker build -t website_ui -f Dockerfile.project1 .

有什么问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-11 00:47:04

如果您使用生成上下文project/deployment在目录.中运行停靠构建,那么docker就无法在project/services中找到文件。

尝试运行docker build -t website_ui -f deployment/Dockerfile.project1 . (最后一个参数是构建上下文)

从医生那里:

-- Dockerfile命令从Dockerfile和一个“上下文”构建docker映像。构建的上下文是位于指定的PATHURL.

中的一组文件。

票数 2
EN

Stack Overflow用户

发布于 2021-10-11 01:17:12

在构建Docker映像时,必须指定指向目录的路径,该路径将是build context,这是docker build命令末尾的点。然后,Docker将复制该目录的内容(可能会复制到内部Docker目录),这就是为什么不能在上下文之外COPY路径的原因。

运行docker build时,您应该会看到一条类似于“上载X字节上下文”的消息。

COPY指令更改为COPY services/ui/project1 /app/,并从项目的根目录构建映像:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker build -t website_ui -f deployment/Dockerfile.project1 .

了解有关docker build documentation上构建上下文的更多信息

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

https://stackoverflow.com/questions/69523230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文