gpt4 book ai didi

docker - 使用 .dockerignore 忽略文件和目录

转载 作者:行者123 更新时间:2023-12-02 19:32:17 27 4
gpt4 key购买 nike

我有一个简单的 .dockerignore 文件,其中包含以下内容:

.git/
.idea/
venv/

我的 docker-compose.yml 文件挂载卷:

version: "3"
services:
frontend:
build: .
command: ["gunicorn", "--bind", "0.0.0.0:8000", "project.app:create_app()"]
env_file:
- .env
volumes:
- .:/frontend
ports:
- "8000:8000"

也许我不理解.dockerignore 文件的完整语法或意图,但是在运行docker-compose up --build 之后,.git/.idea/venv/ 最终出现在我的容器中。

我已经阅读并看到了 this但是不能挂载和阻止文件和目录登陆容器似乎不可行。

如何防止这些目录在容器中变得可用?

最佳答案

.dockerignore 文件将修改发送到 docker 守护进程以构建图像的上下文。因此,创建的图像不会包含这些文件,除非您重新创建它们。

卷挂载是完全独立的,主机卷挂载(也称为绑定(bind)挂载)会将主机目录的内容按原样直接映射到容器中。这是不遵循 .dockerignore 的 Linux 操作系统级事件。

您需要从挂载到容器的目录中排除这些文件,或者不将卷挂载到容器中并依赖镜像来利用 .dockerignore

关于docker - 使用 .dockerignore 忽略文件和目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50135714/

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