5

У Docker есть страница документации, в которой перечислены версии Compose с версией поддерживаемого Docker Engine. Короче:

Compose file format    Docker Engine release
--------------------------------------------
3.6                    18.02.0+
3.5                    17.12.0+
3.4                    17.09.0+
3.3                    17.06.0+
3.2                    17.04.0+
3.1                    1.13.1+
3.0                    1.13.0+
...

Я знаю, что могу использовать конкретную основную / вспомогательную версию в моем файле композиции (version: "3.6"), но что произойдет, если я не укажу вспомогательную версию (version: "3")? Это ведет себя как «3.0», последняя установленная версия Compose или самый высокий формат файла Compose, который поддерживает установленный мной Docker Engine?

Скажем, ради примера, у меня есть

  • Самая высокая установленная версия Compose 3.5
  • Docker Engine 17.06.0 установлен

и я начинаю свой Compose файл с version: "3" . Какой набор функций у меня есть доступ? 3,0, 3,3, 3,5 или 3,6?

1 ответ1

1

Если вы используете version: '3' в вашем файле Compose, он будет действовать как 3.0.

Это подтвердил пользователь Raj Chaudhuri на форумах сообщества Docker.

У вас есть доступ к 3.0. Вы можете убедиться в этом, запустив docker-compose config для файла с version: '3' .

В качестве примера приведем этот составной файл:

version: '3'

services:
  html:
    image: nginx

Запуск docker-compose.yml --file <filename> config даст:

services:
  html:
    image: nginx
version: '3.0'

Другой способ проверить это - просто создать файл "3", содержащий функции, появившиеся после 3.0. configs - это функция, добавленная в версии 3.3. Запуск этого файла:

version: '3'

services:
  html:
    image: nginx
    configs:
      - source: myconfig
        target: /tmp/abc.txt

configs:
  myconfig:
    file: ./some-file.txt

выдаст ошибку, указывающую, что "конфиги" не являются допустимым выбором.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .