从多个dockerfile构build多个图像

有没有办法通过pipe理两个不同的dockerfiles来构build多个图像? 在我的情况下,我想保持两个dockerfile在构build上下文中假设Dockerfile_app1 Dockerfile_app2。

docker build -t <image_name> . 

上面将select名为Dockerfile

 docker build -t <image_name> Dockerfile_app1 

这也不适用于我的情况,因为它期望文件名称为Dockerfile.

我也尝试了docker-compose build。 但是它没有工作。

 app1: build: Dockerfile_app1 ports: - "80:80" app2: build: Dockerfile_app2 ports: - "80:80" 

只需使用docker docker build-f参数来指定要使用的Dockerfile的名称:

 $ docker build -t <image_name> -f Dockerfile_app1 . ... 

或者在Compose中,您可以使用从版本1.3开始的dockerfile密钥:

 app1: build: . dockerfile: Dockerfile_app1 ports: - "80:80" app2: build: . dockerfile: Dockerfile_app2 ports: - "80:80" 

请注意, build密钥是用于构build上下文的,而不是Dockerfile的名称(因此它在您的案例中查找了名为Dockerfile_app1的目录)。