Я полагаю, что проблема, о которой вы заметили, связана с тем, что вы указали одно и то же имя изображения для обеих служб, что подразумевает, что они будут иметь одинаковую переменную ENV
, как определено в последней скомпилированной Dockerfile
.
Не могли бы вы попробовать это вместо этого?
version: '3.4'
services:
webapplication1:
image: <b>compositeapp1</b>
build:
context: .\WebApplication1
dockerfile: Dockerfile
webapplication2:
image: <b>compositeapp2</b>
build:
context: .\WebApplication2
dockerfile: Dockerfile
В любом случае, даже если это работает, я предполагаю, что ваши два Dockerfile
почти одинаковы (?), И в этом случае я бы предпочел использоватьодин Dockerfile
и один тег изображения, но можно настроить среду обоих сервисов, используя некоторый раздел environment в вашем docker-compose.yml
(или некоторый env_file раздел вместе с некоторым внешним .env
files ...).
Например, вы можете написать что-то вроде этого:
version: '3.4'
services:
webapplication1:
image: compositeapp
build:
context: .\WebApplication
dockerfile: Dockerfile
environment:
<b>- LICENSE=abc123</b>
webapplication2:
image: compositeapp
environment:
<b>- LICENSE=abc456</b>
(не забывая удалить строку ENV LICENSE=...
из Dockerfile
)