首页 > 解决方案 > .dockerignore 被 docker compose 忽略

问题描述

我有以下 docker-compose 文件:

version: '3.7'

services:
  web:
    build: ./project
    command: uvicorn app.main:app --reload --workers 1 --host 0.0.0.0 --port 8000
    volumes:
      - ./project:/usr/src/app
    ports:
      - 8002:8000
    environment:
      - ENVIRONMENT=dev
      - TESTING=0
      - DATABASE_URL=postgres://postgres:postgres@web-db:5432/web_dev # new
      - DATABASE_TEST_URL=postgres://postgres:postgres@web-db:5432/web_test # new
    depends_on: # new
      - web-db

在 ./project 中有一个 .dockerignore 用于忽略 ./project 中的文件。但是,这些文件不会被忽略。卷是否具有先例并忽略 .dockerignore?./project:/usr/src/app.

如何防止 ./project 中的文件挂载到图像上?

谢谢!

标签: testdriven.io

解决方案


.dockerignore不是这样工作的:它对您的构建过程很重要,因此它不会将某些文件视为图像的构建上下文,并且不会在您的Dockerfile. 卷将始终包含目录中的所有文件,也包括隐藏文件。


推荐阅读