2つの異なるdockerfileを管理して複数のイメージを構築する方法はありますか?私の場合、ビルドコンテキスト内にDockerfile_app1Dockerfile_app2を想定して2つのdockerfileを保持したいと思います。
docker build -t <image_name> .
上記は、Dockerfile
という名前のdockerfileを選択します
docker build -t <image_name> Dockerfile_app1
ファイル名がDockerfile.
であると想定しているため、これも私の場合は機能しません。
Docker-composebuildでも試してみました。しかし、それは機能しません。
app1:
build: Dockerfile_app1
ports:
- "80:80"
app2:
build: Dockerfile_app2
ports:
- "80:80"
-f
のdocker build
引数を使用して、使用するDockerfileの名前を指定するだけです。
$ docker build -t <image_name> -f Dockerfile_app1 .
...
または、作成では、バージョン1.3以降のdockerfile
キーを使用できます。
app1:
build: .
dockerfile: Dockerfile_app1
ports:
- "80:80"
app2:
build: .
dockerfile: Dockerfile_app2
ports:
- "80:80"
build
キーは、Dockerfileの名前ではなく、ビルドコンテキスト用であることに注意してください(したがって、この場合はDockerfile_app1
というディレクトリを検索しました)。