docker compose file not working:replicas 不允许附加属性副本

新手上路,请多包涵

码头工人版本:17.03.1-ce

试图让 docker-compose.yml 从入门教程中工作。

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

收到此错误:

 replicas Additional property replicas is not allowed

我打错了什么?

谢谢。

编辑:docker-compose 版本 1.11.2,构建 dfed245

原文由 Tuhina Singh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

缩进在 docker-compose.yml 中至关重要。您设置它的方式,“部署”是一项服务,这不是预期的。部署部分旨在指定有关应如何部署“Web”服务的信息。以下允许 docker-compose updocker stack deploy web --compose-file docker-compose.yml 为我成功运行:

 version: "3"

services:
  web:
    image: tuhina/friendlyhello:2.0
    deploy:
      replicas: 5
      resources:
        limits:
          cpus: "0.1"
          memory: '50M'
      restart_policy:
        condition: on-failure
    ports:
      - "80:80"
    networks:
      - webnet

networks:
  webnet:

原文由 burnettk 发布,翻译遵循 CC BY-SA 3.0 许可协议

这发生在我身上,因为我使用的是 docker-compose 版本 2,但我的 docker-compose.yml 文件适用于版本 1。

我的 docker-compose.yml 文件最初是这样的:

 web:
    image: nginx
    restart: always

所以当我运行 docker-compose up 时,我收到了这个错误:

 (root) Additional property web is not allowed

我像这样降级到 docker-compose 版本 1:

 docker-compose disable-v2

现在它正在工作。为了让它适用于 v2,首先我启用了 v2:

 docker-compose enable-v2

然后我像下面这样更新了我的 docker-compose.yml,因为 docker-compose v2, web 不能是顶部/最外层的值。

 services:
  web:
    image: nginx
    restart: always

我检查了我正在使用的 docker-compose 的版本:

 docker-compose --version

我发现我正在运行版本 v2.2.3 ,在升级之前它一直是 1.29.2

现在 docker-compose 是 docker 本身的一部分。试试下面的命令:

 docker compose version

原文由 Gilbert 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题