Jas*_*pel 5 docker docker-compose
我有一个简单的.dockerignore文件,其中包含以下内容:
.git/
.idea/
venv/
Run Code Online (Sandbox Code Playgroud)
我的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"
Run Code Online (Sandbox Code Playgroud)
也许我不理解该.dockerignore文件的完整语法或意图,但运行后docker-compose up --build,.git/,.idea/和venv/最终出现在我的容器中。
我已经阅读并看到了这一点,但无法挂载并阻止文件和目录进入容器似乎并不可行。
如何防止这些目录在容器中变得可用?
BMi*_*tch 11
该.dockerignore文件将修改发送到 docker 守护进程以构建映像的上下文。因此,创建的映像中不会包含这些文件,除非您重新创建它们。
卷挂载是完全独立的,主机卷挂载(也称为绑定挂载)会将主机目录的内容按原样直接映射到容器中。这是 Linux 操作系统级别的活动,不遵循.dockerignore.
您需要从挂载到容器中的目录中排除这些文件,或者不将卷挂载到容器中并依赖映像来利用.dockerignore.
| 归档时间: |
|
| 查看次数: |
8500 次 |
| 最近记录: |