VS2017 docker compose vs docker-compose.override?
环境: Windows 10企业版VS2017 docker compose vs docker-compose.override?,docker,visual-studio-2017,docker-compose,docker-for-windows,Docker,Visual Studio 2017,Docker Compose,Docker For Windows,环境: Windows 10企业版 Visual Studio专业版2017 Docker CE 18.03.1-CE-win65(17513) 当我创建解决方案并添加Docker支持时,VS2017将创建Docker compose项目并添加Docker-compose.yml和Docker-compose.override.yml。这两个文件之间有区别吗?我问这个问题的原因是我试图在每个容器的基础上设置一个环境变量 如果我在docker compose中执行此操作,将.yml文件覆盖为: s
Visual Studio专业版2017
Docker 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\Sdk\Microsoft.docker.Sdk\build\Microsoft.VisualStudio.docker.compose.294
为什么有些东西需要放在主文件中,有些东西需要放在重写中?从我看到的文档中,通常只有主撰写文件。覆盖是VS2017特有的吗?这是VS中Docker工具特定版本中的一个bug,在15.8 preview 3或更高版本中已修复。您可以选择升级或使用此处提到的解决方法: