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

时间:2015-06-13 01:31:53

标签: 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

2 个答案:

答案 0 :(得分:11)

以下为我工作

abc:
  build:
    context: .
    dockerfile: Dockerfile.one
def:
  build:
    context: .
    dockerfile: Dockerfile.two

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

答案 1 :(得分:0)

只需指定Dockerfile的名称:

abc:
    build: path/to/Dockerfile_for_abc