代码之家  ›  专栏  ›  技术社区  ›  ddinchev

如何使用Docker Compose设置Dockerfile的“当前”目录?

  •  10
  • ddinchev  · 技术社区  · 9 年前

    我有以下项目结构:

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

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

    cli:
      build: docker/cli
    

    在我的Dockerfile中:

    COPY . /app
    

    现在的问题是,当我这样做的时候 docker-compose build cli docker复制 docker/cli/ 在里面 /app 在我的想象中。这很有道理,因为这是我的 docker/cli/Dockerfile .在我的 docker-compose.yml接口 是否配置路径应该不同(即实际项目文件所在项目的根目录)?

    1 回复  |  直到 9 年前
        1
  •  24
  •   johnharris85    9 年前

    您可以使用 context 属性 build docker合成文件中的指令。

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

    这应该可以根据需要工作。这个 上下文 是发送给docker守护进程进行构建的内容。您还需要在您的 project 目录,以确保只发送您需要的内容。