(image_search_engine) ╭─pon@T4GPU ~/code/work/ponponon/image_search_engine  ‹master*› 
╰─➤  tree        
.
├── api.py
├── apps
│   ├── dev.py
│   ├── meta.py
│   ├── milvus.py
│   ├── sample.py
│   └── schemas.py
├── deploy
│   └── docker
│       ├── milvus
│       │   ├── docker-compose.yaml
│       │   └── milvus.yaml
│       ├── minio
│       │   └── docker-compose.yaml
│       ├── mysql
│       │   ├── docker-compose.yaml
│       │   └── my-custom.cnf
│       └── private
│           ├── config.yaml
│           ├── docker-compose.yml
│           ├── Dockerfile
│           └── Dockerfile.dockerignore

我的目录结构如上,deploy/docker/private/Dockerfile 和 deploy/docker/private/Dockerfile.dockerignore

需要打包镜像,我就执行下面的命令

docker build -t "ponponon/image_search_engine:2023.10.10.3" . -f deploy/docker/private/Dockerfile

此时因为 Dockerfile.dockerignore 和 Dockerfile 都在 deploy/docker/private 路径下面,所以此时 Dockerfile.dockerignore 会生效

Dockerfile.dockerignore 不能单独指定,docker build 只能指定 Dockerfile 的路径

然后 docker build 会自动匹配 Dockerfile 路径下面的 Dockerfile.dockerignore

注意,此时的不叫 .dockerignore 了,而是要和 Dockerfile 同名,叫做 Dockerfile.dockerignore

参考:How to specify different .dockerignore files for different builds in the same project?


universe_king
3.4k 声望680 粉丝