Errors
JupyterHub

JupyterHub: Are docker version and docker engine version the same? How to check them separately?

Ты смотришь в документацию JupyterHub и видишь требование `docker engine >= 1.12.0`. Запускаешь `docker version`, а там в ответ `17.12.1-ce`. И тишина. Это что

Ты смотришь в документацию JupyterHub и видишь требование docker engine >= 1.12.0. Запускаешь docker version, а там в ответ 17.12.1-ce. И тишина. Это что за версия? Где тут engine? Это вообще оно? Может, это версия клиента, а демон где-то в другом месте и у него своя, старая версия?

Паника преждевременна. Давай разбираться.

Клиент, демон и одна версия на двоих

Команда docker version выдает информацию и о клиенте (строка Client), и о демоне (строка Server). В твоем выводе они совпадают — и клиент, и сервер (он же Docker Engine) имеют версию 17.12.1-ce. Это хороший знак.

Но смущает сама цифра. 17.12.1 против требуемой 1.12.0. Выглядит так, будто 1.12.0 больше. На самом деле нет. Всё дело в смене нумерации.

Великий переход 2017 года

До марта 2017 года Docker Engine версионировался в формате 1.xx.y. Последняя такая версия — 1.13.1 (вышла 8 февраля 2017).

В марте 2017 случился ребрендинг и переход на новый календарный формат YY.MM. Первая стабильная версия сообщества (Community Edition) в новом формате — 17.03.0-ce.

Таким образом, 17.12.1-ce — это версия декабря 2017 года, и она значительно новее 1.12.0 (которая вышла летом 2016). Твой Docker Engine полностью удовлетворяет требованию JupyterHub.

Как это проверить и понять

Главное правило: если в выводе docker version версии клиента и сервера совпадают (как в твоем случае), то у тебя именно та версия Engine, которую ты видишь.

Если бы демон был старше, ты бы увидел это в секции Server. Например, Server: Version: 1.11.2. И тогда да, была бы проблема.

Чтобы окончательно удостовериться, что твоя версия 17.12.1 — это именно Engine, можно проверить историю:

Версии старого формата (Engine): https://docs.docker.com/release-notes/docker-engine/ Версии нового формата (Docker CE): https://docs.docker.com/release-notes/docker-ce/

На первой странице последней записью будет 1.13.1, на второй — всё, начиная с 17.03.0-ce. Твоя версия 17.12.1-ce спокойно находится в списке Docker CE.

Итог

Твоя установка Docker в порядке. Версия Engine — это именно то, что указано в блоке Server вывода команды docker version. Смена схемы нумерации с 1.xx на YY.MM в 2017 году всех поначалу путает.

17.12.1 > 1.12.0. Можно спокойно ставить JupyterHub. Проблема была не в версии, а в её формате.