gpt4 book ai didi

Docker:复制失败:在构建上下文中找不到文件(Dockerfile)

转载 作者:行者123 更新时间:2023-12-04 18:24:33 24 4
gpt4 key购买 nike

我想指示 Docker COPY我的本地证书/etc/我的 Ubuntu 机器上的文件夹。
我得到错误:

COPY failed: file not found in build context or excluded by.dockerignore: stat etc/.auth_keys/fullchain.pem: file does not exist


我没有排除在 .dockerignore我该怎么做?
Dockerfile:
FROM nginx:1.21.3-alpine

RUN rm /etc/nginx/conf.d/default.conf
RUN mkdir /etc/nginx/ssl
COPY nginx.conf /etc/nginx/conf.d
COPY ./etc/.auth_keys/fullchain.pem /etc/nginx/ssl/
COPY ./etc/.auth_keys/privkey.pem /etc/nginx/ssl/

WORKDIR /usr/src/app
我也试过没有 dot --> 同样的错误
COPY /etc/.auth_keys/fullchain.pem /etc/nginx/ssl/
COPY /etc/.auth_keys/privkey.pem /etc/nginx/ssl/
通过放置文件夹 .auth_keys在 Dockerfile 旁边 --> 有效,但不可取
COPY /.auth_keys/fullchain.pem /etc/nginx/ssl/
COPY /.auth_keys/privkey.pem /etc/nginx/ssl/

最佳答案

docker 上下文是 Dockerfile 所在的目录。如果你想构建一个镜像,这是你必须面对的限制之一。
this documentation您可以看到如何切换上下文,但为了简单起见,只需将同一目录视为上下文。笔记;这也不适用于符号链接(symbolic link)。
所以您的观察是正确的,您需要将需要复制的文件放在同一目录中。
或者,如果您不需要复制它们但在运行时仍然可以使用它们,您可以选择挂载。我可以想象这在您的情况下不起作用,因为您可能在容器启动时需要这些文件。

关于Docker:复制失败:在构建上下文中找不到文件(Dockerfile),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69852628/

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