docker可以在同一文件夹中构建来自不同Dockerfiles的构建映像

use*_*188 10 docker dockerfile docker-compose

我的容器应该共享相同的源代码文件夹.

但是它们应该从不同的Dockerfiles构建.

是否可以使用docker-compose构建它们并一次从不同的Dockerfiles构建?

我希望有一个类似的语法

build: . -f <<Dockerfile_ABC> build: . -f <<Dockerfile_CDE>

abc:
  build: . -f <<Dockerfile_ABC>
  environment:
    - PROJECT=abc
  command: ruby abc/abc.rb
  volumes:
      - ./:/working_direcotry
  ports:
    - 5904:5904

cde:
  build: . -f <Dockerfile_CDE>
  environment:
    - PROJECT=cde
  command: ruby cde/cde.rb
  volumes:
      - ./:/working_direcotry
  ports:
    - 5902:5902
Run Code Online (Sandbox Code Playgroud)

Tyr*_*son 13

以下对我有用

abc:
  build:
    context: .
    dockerfile: Dockerfile.one
def:
  build:
    context: .
    dockerfile: Dockerfile.two
Run Code Online (Sandbox Code Playgroud)

当然,如果你有不同的上下文,你可以根据需要调整上下文.我还使用它来创建单独的Dockerfile.production版本,以便为应用程序的生产版本设置不同的东西.


Ora*_*Tux -1

只需指定 Dockerfile 的名称:

abc:
    build: path/to/Dockerfile_for_abc
Run Code Online (Sandbox Code Playgroud)

  • 我猜作者希望所有服务都有相同的构建上下文。一旦 Dockerfile 位于不同的路径中,构建上下文也会更改为该路径。 (2认同)