gpt4 book ai didi

docker - 如何限制 Docker 复制的目录和文件?

转载 作者:行者123 更新时间:2023-12-02 18:28:03 25 4
gpt4 key购买 nike

我有一个 Dockerfile 明确定义上下文目录中的哪些目录和文件被复制到应用程序目录。但不管这个 Docker 试图复制上下文目录中的所有文件。

Dockerfile 位于上下文目录中。

我的测试代码和数据文件位于上下文目录正下方的目录中。它试图复制上下文目录中的所有内容,而不仅仅是我的 COPY 命令指定的目录和文件。所以我收到了几百条以下错误消息,除了在每个目录和子目录中指定每个文件:

ERRO[0043] Can't add file /home/david/gitlab/etl/testdata/test_s3_fetched.csv to tar: archive/tar: missed writing 12029507 bytes
...
ERRO[0043] Can't close tar writer: archive/tar: missed writing 12029507 bytes
Sending build context to Docker daemon 1.164GB
Error response from daemon: Error processing tar file(exit status 1): unexpected EOF


我对引用的阅读是,如果没有 ADD 或 COPY 指令,它只会复制所有文件和目录。

我尝试过以下 COPY 模式
COPY ./name/ /app/name
COPY name/ /app/name
COPY name /app/name

WORKDIR /app
COPY ./name/ /name

WORKDIR /app
COPY name/ /name

WORKDIR /app
COPY name /name

我的 Dockerfile:
FROM python3.7.3-alpine3.9

RUN apk update && apk upgrade && apk add bash
# Copy app
WORKDIR /app
COPY app /app
COPY configfiles /configfiles
COPY logs /logs/
COPY errorfiles /errorfiles
COPY shell /shell
COPY ./*.py .

WORKDIR ../
COPY requirements.txt /tmp/

RUN pip install -U pip && pip install -U sphinx && pip install -r /tmp/requirements.txt

EXPOSE 22 80 8887

我希望它只复制我的文件,而不会出现与尝试复制我在 COPY 命令中未指定的文件相关的错误。由于 Docker 输出由于 aqll thew 错误消息而滚动到我的终端窗口之外,因此我看不到它是否成功使用我的 COPY 命令。

最佳答案

构建目录下的所有文件都被复制到 docker 构建上下文的初始层。
考虑使用 .dockerignore file从构建中排除文件和目录。

关于docker - 如何限制 Docker 复制的目录和文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56277316/

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