gpt4 book ai didi

docker - 为什么 Docker ADD 命令不复制这个文件?

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

在下面的文件中,文件 apprequirements.txt 已添加到容器中。我知道是因为 pip install 有效。但是,myworker.py 文件不会被复制/添加。 为什么?

FROM python:2.7
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD ./frontend/apprequirements.txt /code
RUN pip install -r apprequirements.txt
ADD ./backend/myworker.py /code

我用 docker-compose 运行这个,你可以在 https://github.com/AvidSoftware-be/Docker-compose-test 上看到整个示例

最佳答案

在深入审查您的存储库后,这是我的结论:

你的 Dockerfile 很好,它做了应该做的事情。它创建一个图像,在该图像内创建一个文件夹 /code 并复制两个文件 apprequirements.txtmyworker.py

docker-compose.yml文件中你有这一行:

volumes:
- ./frontend:/code

这意味着在运行docker-compose up命令后,docker 将在 /code 现有目录上挂载一个卷。

/code 的内容不会从容器中删除,但它会被“屏蔽”,因为挂载的目录挂载在现有文件之上。文件仍在容器中,但无法访问。

注意:文件夹 ./frontend 包含文件“apprequirements.txt”,这就是您认为只添加了一个文件的原因。

关于docker - 为什么 Docker ADD 命令不复制这个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35466045/

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