【问题标题】:VS2017 docker-compose vs docker-compose.override?VS2017 docker-compose vs docker-compose.override?
【发布时间】: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


    【解决方案1】:

    这是 VS 中特定版本的 Docker 工具中的一个错误,它已在 15.8 预览版 3 或更高版本中修复。您可以选择升级或使用此处提到的解决方法:https://github.com/Microsoft/DockerTools/issues/98

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-18
      • 2017-11-26
      • 2017-03-06
      • 2019-11-21
      • 2020-12-23
      • 2022-10-13
      • 1970-01-01
      • 2020-06-25
      相关资源
      最近更新 更多