【发布时间】:2018-12-04 13:19:06
【问题描述】:
环境:
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.override.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 列,第 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 特定的东西吗?
【问题讨论】:
标签: docker visual-studio-2017 docker-compose docker-for-windows