Среда:
Windows 10 EnterpriseVisual Studio Professional 2017Docker CE 18.03.1-ce-win65 (17513)
Когда я создаю решение и добавляю поддержку Docker, VS2017 создает проект docker-compose и добавляет docker-compose.yml и docker-compose.override.yml,Есть ли разница между этими двумя файлами?Причина, по которой я спрашиваю, заключается в том, что я пытался установить переменную среды для каждого контейнера.
Если я сделаю это в docker-compose. переопределить .yml файл как:
services:
webapplication1:
environment:
- TEST=HELLO1
ports:
- "80"
Он собирается и работает, как и ожидалось.
Если я делаю это в docker-compose.yml как:
services:
webapplication1:
image: compositeapp
environment:
- TEST=HELLO1
build:
context: .\WebApplication1
dockerfile: Dockerfile
Теперь он больше не собирается и выдает ошибку:
Код серьезности Описание Ошибка состояния подавления строки файла проекта (строка: 6, столбец: 7, Idx: 73) - (строка: 6, столбец: 7, Idx: 73): ожидается «MappingStart», получено »SequenceStart '(в строке: 6, столбец: 7, Idx: 73).docker-compose C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ Sdks \ Microsoft.Docker.Sdk \ build \ Microsoft.VisualStudio.Docker.Compose.targets 294
Почемунекоторые вещи должны идти в главном файле, а некоторые в переопределении?Из документации, которую я видел, обычно есть только основной файл композиции.Является ли переопределение специфической вещью VS2017?