Невозможно развернуть стек docker с версией файла создания 2.4. - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь развернуть свой стек docker, используя файл compose. Когда я развертываю с файлом compose версии 3+, развертывание работает отлично. Но когда я пытаюсь использовать версию 2.4 или ниже, я получаю эту ошибку: unsupported Compose file version: 2.4

Мне нужно использовать версию 2.4, потому что версия 3 и выше не поддерживает несколько параметров, которые мне нужны для моих контейнеров ( такие как cpuset и runtime).

Моя версия docker - 19.03.6, а docker -compose - 1.25.4.

Есть ли способ развернуть с более старой версией составного файла на Docker 19.03.6? Я что-то пропустил или последняя версия docker больше не поддерживает старые файлы композиции?

ОБНОВЛЕНИЕ

Получается, что docker 19.03.6 поддерживает только версию 3+ при развертывании. Поэтому я не могу использовать ничего, кроме Версии 3+, которая не обеспечивает такую ​​же гибкость, как V2.4, с точки зрения настройки использования процессора. Единственное решение в этой ситуации (когда вам нужны такие параметры, как cpuset и runtime), состоит в том, чтобы вручную запускать контейнеры или переходить к чему-то вроде Kubernetes.

Вот примеры составных файлов:

Версия 3.7 (работает)

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 (не работает)

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

Ответы [ 2 ]

0 голосов
/ 05 марта 2020

Очевидно, что для развертывания не поддерживается более старая версия составного файла. https://forums.docker.com/t/cant-deploy-stack-with-compose-file-version-2-4-on-docker-19-03-6/90119

0 голосов
/ 05 марта 2020

deploy опция конфигурации не поддерживается в 2.4, вам нужно изменить файл на этот

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

...