【问题标题】:In file './docker-compose.yml', service 'proxy-nginx' must be a mapping not a string?在文件'./docker-compose.yml'中,服务'proxy-nginx'必须是映射而不是字符串?
【发布时间】:2018-07-23 05:09:12
【问题描述】:

我有以下docker-compose.yml 文件:

    version: '3'

    services:
      proxy-nginx:
        build:./nginx
      ports:
        - 80:80

当我运行 `docker-compose up 控制台日志时:

In file './docker-compose.yml', service 'proxy-nginx' must be a mapping not a string.

This answer 建议在端口周围使用引号:

    version: '3'

    services:
      proxy-nginx:
        build:./nginx
      ports:
        - "80:80"

还尝试了更多缩进端口:

    version: '3'
    services:
      proxy-nginx:
        build:./nginx
        ports:
          - 80:80

但结果还是一样。有什么想法吗?

【问题讨论】:

标签: docker nginx docker-compose


【解决方案1】:

尝试正确缩进端口

    version: '3'
    services:
      gogs-nginx:
        build: ./nginx
        ports:
        - "80:80"

我认为问题在于解析器认为 ports 是另一个服务,因为它具有误导性的缩进。不过我不能怪它。

【讨论】:

  • 尝试过并将其添加到问题中。还有其他想法吗?
  • 我用端口值周围的引号更新了答案。我之前也尝试过这样做,但由于某种原因它仍然无法正常工作。所以我从 docker 站点 (docs.docker.com/compose/gettingstarted/…) 复制了一个 sn-p 并对其进行了更改,现在它可以工作了...
猜你喜欢
  • 2018-09-23
  • 2016-10-04
  • 2021-07-07
  • 2018-06-02
  • 2017-05-11
  • 2021-08-30
  • 2018-12-28
  • 2017-01-26
  • 2017-09-13
相关资源
最近更新 更多