Я пытаюсь развернуть свой стек 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