У меня есть приложение, которое имеет два Dockerfile
, скажем Dockerfile.foo
и Dockerfile.bar
, которые, как ожидается, будут создавать два разных изображения для двух разных сервисов docker-compose.yml
.
Например, это может выглядеть следующим образом:
# ...
services:
service1:
build:
context: .
dockerfile: Dockerfile.foo
service1:
build:
context: .
dockerfile: Dockerfile.bar
# ...
Но оба Dockerfile.{foo,bar}
имеют одну и ту же первую половину, а их левые части различаются.
Как избежать ненужного дублирования мешает строить и обслуживать, заставляя .{foo,bar}
расширяться от базы Dockerfile.common
? Другими словами, возможно ли заархивировать что-то вроде FROM Dockerfile.common
в docker-compose.yml
?
Обновление:
Что я ожидаю, так это использование docker-compose
для автоматизации процесса сборки без вручную (или с отдельным build.sh
): сначала
docker build -f Dockerfile.common -t common .
; - , а затем
docker build -f Dockerfile.foo -t foo . && docker build -f Dockerfile.bar -t bar .
, чтобы Dockerfile.{foo, bar}
мог правильно сослаться на common
изображение.