Как установить актуальные версии Docker и Docker Compose на Ubuntu и Debian

Как установить актуальные версии Docker и Docker Compose на Ubuntu и Debian

Как установить актуальные версии Docker и Docker Compose

Перед началом установки новых приложений обновите списки пакетов в системе:

$ sudo apt update

Затем установите необходимые для дальнейшей работы зависимости:

$ sudo apt install ca-certificates gnupg curl

Данная команда устанавливает следующие компоненты:;

  • ca-certificates – набор корневых сертификатов доверенных центров сертификации, необходимый системам и приложениям для проверки подлинности HTTPS-соединений;
  • gnupg – инструмент для работы с криптографическими ключами и подписями, используемый для проверки цифровой подписи репозитория и его пакетов;
  • curl – утилита командной строки, используемая для загрузки данных по URL.

Установка Docker

Следующая команда устанавливает GPG-ключ, который будет использоваться пакетным менеджером apt для проверки подлинности пакетов из репозитория Docker. В команде используются различные ссылки на загрузку GPG-ключа. Для запуска команды на Ubuntu используйте запись:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg

В Debian команда выглядит следующим образом:

$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg

Затем добавьте в систему APT-репозиторий Docker. В Ubuntu для этого запустите команду:

$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

В Debian команда выглядит так:

$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Для того, чтобы пакетный менеджер apt узнал о новых пакетах и версиях, доступных из только что добавленного источника, обновите список пакетов через загрузку index-файлов с каждого подключённого репозитория:

$ sudo apt update

После чего установите Docker Engine с клиентом командной строки, базовым контейнерным движком containerd и плагином расширенной сборки образов Buildx:

$ sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin

По окончании установки проверьте версию клиента Docker:

$ docker --version

В нашем примере версия Docker действительно является актуальной на момент написания статьи:

Вывод версии клиента Docker

Установка Docker Compose

Клиент командной строки Docker CLI позволяет управлять Docker Engine и его контейнерами. Кроме того, он поддерживает расширения в виде плагинов. При запуске какого-либо расширения командой вида docker <plugin> Docker CLI ищет соответствующий исполняемый файл в определённых каталогах. Приоритет поиска в данном случае следующий:

  • сначала – локальные пути пользователя:
    • $DOCKER_CLI_PLUGIN_PATH – если установлена переменная окружения, Docker в первую очередь проверяет именно её;
    • ~/.docker/cli-plugins/ – каталог плагинов для конкретного пользователя;
  • затем – системные пути:
    • /usr/local/lib/docker/cli-plugins/ – основной путь для плагинов, установленных вручную;
    • /usr/lib/docker/cli-plugins/ – путь, куда плагины обычно ставятся пакетным менеджером.

Исходя из этого, логичным выглядит использование универсального решения. То есть создайте директорию, которая будет доступна для всех пользователей сервера и в которой будут храниться дополнительные плагины для Docker CLI, в том числе и Docker Compose:

$ sudo mkdir -p /usr/local/lib/docker/cli-plugins/

В данный каталог загрузите из GitHub бинарный файл последней версии Docker Compose:

$ sudo curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/lib/docker/cli-plugins/docker-compose

Затем следующей командой сделайте загруженный файл исполняемым:

$ sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

После чего проверьте версию Docker Compose:

$ docker compose version

Сравните выведенный номер версии с номером релиза на GitHub. Это позволит убедиться в том, что у вас в системе установлен Docker Compose актуальной версии.

Вывод версии Docker Compose