我的容器应该共享相同的源代码文件夹。
但是他们应该使用不同的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
答案 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