【问题标题】:Docker stack deploy command error running compose yml file docker-compose.yml运行撰写 yml 文件 docker-compose.yml 的 Docker 堆栈部署命令错误
【发布时间】:2019-02-28 14:41:12
【问题描述】:
[root@d1 docker]# docker stack deploy -c docker-compose.yml getstartedlab
yaml: line 12: did not find expected key

这是我正在使用的 docker yml 文件,请参阅下面列出的 docker-compose.yml 文件

version: "3"
services:
   web:
      image: pragneshpanchal/httpdsrv
      deploy:
        replicas: 5
        resources:
           limits:
              cpus: "0.1"
              memory: 50M
           restart_policy:
              condition:on-failure
          ports:
             - "4000:80"
          networks:
              - webnet
        networks:
          webnet:

【问题讨论】:

    标签: docker docker-compose yaml docker-swarm


    【解决方案1】:

    condition:on-failure 之间缺少一个空格。请加个空格,看看是否有效。

    【讨论】:

      【解决方案2】:

      您是否将您的 Yaml 放入 yaml 验证器?

      它对缩进非常敏感,所以如果你在某个地方放了太多的空格,即使有一些有效的东西,你也会有一些奇怪的行为。

      我试图通过此验证器 (http://www.yamllint.com/) 将您的文件放入其中,但在复制/粘贴时它是错误的。在处理子项时尝试尊重 2 个空格,如下所示:

      services:
        web:
          image: pragneshpanchal/httpdsrv
      

      目前我可以看到多种类型的间距,这总是会给你带来错误。就像在端口和第一次网络调用中一样。

      对于第二个网络调用,它应该与服务处于同一级别。

      最后,正如 Mark answer 中所述,重启条件中缺少空格。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多