docker - 如何使用 Docker Compose 设置 Dockerfile 的 "current"目录?

标签 docker

我的项目结构如下:

.
..
project/
docker/cli/Dockerfile
docker-compose.yml

docker-compose.yml 我有以下配置:

cli:
  build: docker/cli

在我的 Dockerfile 中某处:

COPY . /app

现在的问题是,当我执行 docker-compose build cli 时,docker 会在 /app 中复制 docker/cli/ 的内容我的形象。这是有道理的,因为那是我的 docker/cli/Dockerfile 的相对路径。但是有没有办法在我的 docker-compose.yml 配置中告诉路径应该不同(即实际项目文件所在的项目的根目录)?

最佳答案

您可以在 docker-compose 文件中使用 build 指令的 context 属性。

version: '2'
services:
  cli:
    build: 
      context: .
      dockerfile: docker/cli/Dockerfile

这应该可以正常工作。 context 是发送到 docker 守护进程进行构建的内容。不过,您还需要在 project 目录中有一个 .dockerignore 文件,以确保只发送您需要的内容。

关于docker - 如何使用 Docker Compose 设置 Dockerfile 的 "current"目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37087676/

相关文章:

ubuntu - Docker 守护程序不工作

amazon-web-services - 如何使用 AWS、Docker、Nginx + Daphne 在生产中正确配置 Django Channels?

docker - 带有Traefik的Docker群集堆栈中的Portainer拒绝连接

Docker 构建失败(rpc 错误 : code = 2 desc = "oci runtime error: exec format error")

azure - 如何将Azure 'App Service Folder'挂载到docker容器?

docker - 在 Dockerfile 中克隆 git 存储库并对其进行处理

registry - Docker - 无法将图像推送到私有(private)注册表

docker - Ubuntu Docker 镜像标签与 Ubuntu 发行版次要编号

docker - Kubernetes 本地开发数据库

docker - 如何在Docker上增加cpus数量