首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法部署带有复合文件版本2.4的停靠堆栈

无法部署带有复合文件版本2.4的停靠堆栈
EN

Stack Overflow用户
提问于 2020-03-05 11:33:45
回答 2查看 743关注 0票数 0

我正在尝试使用撰写文件来部署我的坞库堆栈。当我使用撰写文件版本3+进行部署时,部署工作非常好。但是,当我试图使用2.4版本或更低版本时,我会得到以下错误:unsupported Compose file version: 2.4

我需要使用2.4版本,因为版本3和更高版本不支持我的容器所需的几个参数(如cpusetruntime)。

我的对接版本为19.03.6,对接-合成版本为1.25.4。

是否有任何方法在Docker 19.03.6上使用旧版本的compose文件进行部署?是我遗漏了什么,还是最近的对接版本不再支持旧的组合文件?

更新

结果显示,docker 19.03.6只支持部署中的3+版本。因此,我只能使用版本3+,它在CPU使用设置方面不能提供与V2.4相同的灵活性。在这种情况下(当您需要像cpusetruntime这样的参数时),唯一的解决方案是手动运行容器或移动到类似Kubernetes的地方。

下面是撰写文件的示例:

版本3.7 (工作)

代码语言:javascript
复制
version: '3.7'

services:

  mongo:
    image: mongo
    volumes:
      - ~/ProcessingServerData/mongodb/db:/data/db
      - ~/ProcessingServerData/mongodb/configdb:/data/configdb
    networks:
      - proc-net
    
  mongo-express:
    image: mongo-express
    depends_on:
      - mongo
    ports:
      - 8081:8081
    networks:
      - proc-net
  
  visualizer:
    image: dockersamples/visualizer:stable
    ports:
      - 8082:8080
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    networks:
      - proc-net
    deploy:
      placement:
        constraints: [node.role == manager]

networks:
  proc-net:
    driver: overlay
    attachable: true

2.4版(不工作)

代码语言:javascript
复制
version: '2.4'

services:

  mongo:
    image: mongo
    volumes:
      - type: bind
        source: ~/ProcessingServerData/mongodb/db
        target: /data/db
      - type: bind
        source: ~/ProcessingServerData/mongodb/configdb
        target: /data/configdb
    networks:
      - proc-net
    deploy:
      resources:
        cpuset: 0,1
    
  mongo-express:
    image: mongo-express
    depends_on:
      - mongo
    ports:
      - 8081:8081
    networks:
      - proc-net
    deploy:
      resources:
        cpuset: 0,1
  
  visualizer:
    image: dockersamples/visualizer:stable
    ports:
      - 8082:8080
    volumes:
      - type: bind
        source: /var/run/docker.sock
        target: /var/run/docker.sock
    networks:
      - proc-net
    deploy:
      resources:
        cpuset: 0,1
      placement:
        constraints: [node.role == manager]

networks:
  proc-net:
    driver: overlay
EN

回答 2

Stack Overflow用户

发布于 2020-03-05 14:50:07

deploy配置选项在2.4中不受支持,您需要将该文件更改为此文件

代码语言:javascript
复制
version: '2.4'

services:

  mongo:
    image: mongo
    volumes:
      - type: bind
        source: ~/ProcessingServerData/mongodb/db
        target: /data/db
      - type: bind
        source: ~/ProcessingServerData/mongodb/configdb
        target: /data/configdb
    networks:
      - proc-net

  mongo-express:
    image: mongo-express
    depends_on:
      - mongo
    ports:
      - 8081:8081
    networks:
      - proc-net

  visualizer:
    image: dockersamples/visualizer:stable
    ports:
      - 8082:8080
    volumes:
      - type: bind
        source: /var/run/docker.sock
        target: /var/run/docker.sock
    networks:
      - proc-net

networks:
  proc-net:
    driver: overlay
票数 0
EN

Stack Overflow用户

发布于 2020-03-05 15:47:18

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60544458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档