Docker 忽略带有.dockrignore的文件和目录

Docker 忽略带有.dockrignore的文件和目录,docker,docker-compose,Docker,Docker Compose,我有一个简单的.dockrignore文件,其中包含以下内容: .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:

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

.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"
也许我不理解
.dockerginore
文件的完整语法或意图,但在运行
docker compose-up--build
.git/
.idea/
venv/
之后,我的容器中就结束了

我已经读过并看到了,但是不能装载并阻止文件和目录在容器中着陆似乎是不可行的


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

dockrignore文件将修改发送到docker守护程序以生成映像的上下文。因此,除非重新创建这些文件,否则创建的图像中不会包含这些文件

卷装载是完全独立的,主机卷装载(也称为绑定装载)将按原样将主机目录的内容直接映射到容器中。这是一个Linux操作系统级别的活动,不遵循
.dockrignore

您需要从装入容器的目录中排除这些文件,或者不将卷装入容器,并依靠映像来利用
.dockrignore