Устанавливает Docker Engine на RHEL

Чтобы начать работу с Docker Engine на RHEL, убедиться, что вы соответствуете предпосылки, а затем способы установки.

Предпосылки

Примечание

В настоящее время мы предоставляем пакеты только для RHEL на s390x (IBM Z). Другие архитектуры пока не поддерживаются для RHEL, но вы можете установить пакеты CentOS на RHEL. Подробнее см. на странице Устанавливает Docker Engine на CentOS.

Требования ОС

Чтобы установить Docker Engine, вам потребуется поддерживаемая версия RHEL 7, RHEL 8 или RHEL 9 на s390x (IBM Z). Архивные версии не поддерживаются и не тестируются.

Рекомендуется использовать драйвер хранилища overlay2.

Удаляет старые версии

Старые версии Docker назывались docker или docker-engine. Если они установлены, удаляет их вместе со связанными зависимостями. Также удаляет Podman и связанные с ним зависимости, если они уже установлены.

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine \
                  podman \
                  runc

Ничего страшного, если yum сообщает, что ни один из данных пакетов не установлен.

Содержимое /var/lib/docker/, включая образы, контейнеры, тома и сети, сохраняется. Пакет Docker Engine теперь называется docker-ce.

Методы установки

Вы можете установить Docker Engine разными способами, в зависимости от ваших потребностей:

  • Большинство пользователей установить с помощью репозитория и устанавливают с них, для простоты установки и задач обновления. Это рекомендуемый подход.

  • Некоторые пользователи загружают пакет RPM и установить из пакета вручную и управляют обновлениями полностью вручную. Это полезно в таких ситуациях, как установка Docker в системах с воздушным зазором без доступа к Интернету.

  • В средах тестирования и разработки некоторые пользователи выбирают автоматическую установку удобных сценариев с помощью вспомогательного сценария для установки Docker.

Установить с помощью репозитория

Перед первой установкой Docker Engine на новый хост-компьютер необходимо настроить репозиторий Docker. После этого вы можете установить и обновить Docker из репозитория.

Настраивает репозиторий

Устанавливает пакет yum-utils (который содержит утилиту yum-config-manager) и настраивает репозиторий.

$ sudo yum install -y yum-utils

$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/rhel/docker-ce.repo

Устанавливает движок Docker

  1. Устанавливает последнюю версию Docker Engine, containerd и Docker Compose или перейдите к следующему шагу, чтобы установить конкретную версию:

    $ sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
    

    Если будет предложено принять ключ GPG, убедиться, что отпечаток соответствует 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35, и если да, принять его.

    Эта команда устанавливает Docker, но не запускает Docker. Он также создаёт группу docker, однако по умолчанию не добавляет пользователей в группу.

  2. Чтобы установить конкретную версию Docker Engine, перечислите доступные версии в репозитории, затем выбрать и устанавливает:

    1. Перечислите и отсортируйте версии, доступные в вашем репозитории. В этом примере результаты сортируются по номеру версии, от самой высокой к самой низкой, и усекаются:

    $ yum list docker-ce --showduplicates | sort -r
    
    docker-ce.s390x                3:20.10.8-3.el8                 docker-ce-stable
    docker-ce.s390x                3:20.10.7-3.el8                 docker-ce-stable
    <...>
    

    Возвращаемый список зависит от того, какие репозитории включены, и зависит от вашей версии RHEL (обозначенной в этом примере суффиксом .el8).

    1. Устанавливает конкретную версию по её полному имени пакета, которое представляет собой имя пакета (docker-ce) плюс строку версии (2-й столбец), начинающуюся с первого двоеточия (:) до первого дефиса, разделенного дефисом (-). Например, docker-ce-20.10.7.

    $ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-compose-plugin
    

    Эта команда устанавливает Docker, но не запускает Docker. Он также создаёт группу docker, однако по умолчанию не добавляет пользователей в группу.

  3. Запуск Docker.

    $ sudo systemctl start docker
    
  4. Убедиться, что Docker Engine установлен правильно, запустив образ hello-world.

    $ sudo docker run hello-world
    

    Эта команда загружает тестовый образ и запускает его в контейнере. Когда контейнер запускается, он печатает сообщение и завершает работу.

Это устанавливает и запускает Docker Engine. Используйте sudo для запуска команд Docker. Перейдите к постустановка Linux, чтобы разрешить непривилегированным пользователям выполнять команды Docker и выполняет другие необязательные действия по настройке.

Обновляет движок Docker

Чтобы обновить Docker Engine, следуйте установить с помощью репозитория, выбрав новую версию, которую хотите установить.

Установить из пакета

Если вы не можете использовать репозиторий Docker для установки Docker, вы можете загружает файл .rpm для своего релиза и установить его вручную. Вам нужно загружать новый файл каждый раз, когда вы хотите обновить Docker Engine.

  1. Go на https://download.docker.com/linux/rhel/dists/ и выбрать свою версию RHEL. Затем перейдите к s390x/stable/Packages/ и загружает файл .rpm для версии Docker, которую вы хотите установить.

  2. Устанавливает Docker Engine, изменив указанный далее путь на путь, по которому вы загрузили пакет Docker.

    $ sudo yum install /path/to/package.rpm
    

    Docker установлен, но не запущен. Группа docker создана, но в нее не добавлены пользователи.

  3. Запуск Docker.

    $ sudo systemctl start docker
    
  4. Убедиться, что Docker Engine установлен правильно, запустив образ hello-world.

    $ sudo docker run hello-world
    

    Эта команда загружает тестовый образ и запускает его в контейнере. Когда контейнер запускается, он печатает сообщение и завершает работу.

Это устанавливает и запускает Docker Engine. Используйте sudo для запуска команд Docker. Перейдите к Действия после установки для Linux, чтобы разрешить непривилегированным пользователям выполнять команды Docker и выполняет другие необязательные действия по настройке.

Обновляет движок Docker

Чтобы обновить Docker Engine, загружает новый файл пакета и повторяет установить из пакета, используя yum -y upgrade вместо yum -y install, и указывает новый файл.

Устанавливает с помощью удобного скрипта

Docker предоставляет удобный скрипт по адресу https://get.docker.com/ для неинтерактивной установки Docker в среду разработки. Удобный сценарий не рекомендуется для производственных сред, но он полезен для создания сценария подготовки, адаптированного к вашим потребностям. Также обратитесь к инструкциям по установке с использованием репозитория, чтобы узнать об этапах установки с использованием репозитория пакетов. Исходный код сценария является открытым, и его можно найти в файле репозиторий docker-install на GitHub.

Всегда проверяйте сценарии, загруженные из Интернета, перед их локальным запуском. Перед установкой ознакомьтесь с потенциальными рисками и ограничениями скрипта удобства:

  • Для запуска скрипта требуются привилегии root или sudo.

  • Сценарий пытается определить ваш дистрибутив и версию Linux и настроить для вас систему управления пакетами.

  • Сценарий не позволяет настраивать большинство параметров установки.

  • Скрипт устанавливает зависимости и рекомендации, не запрашивая подтверждения. Это может установить большое количество пакетов, в зависимости от текущей конфигурации вашего хост-компьютера.

  • По умолчанию скрипт устанавливает последнюю стабильную версию Docker, containerd и runc. При использовании этого скрипта для подготовки компьютера это может привести к неожиданному обновлению основных версий Docker. Всегда проверяйте обновления в тестовой среде перед развертыванием в производственных системах.

  • Сценарий не предназначен для обновления существующей установки Docker. При использовании сценария для обновления существующей установки зависимости могут не обновиться до ожидаемой версии, что приведёт к устаревшим версиям.

Примечание

Совет: просмотрите шаги скрипта перед запуском

Вы можете запускает сценарий с параметром DRY_RUN=1, чтобы узнать, какие шаги будет выполнять сценарий при вызове:

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ DRY_RUN=1 sudo sh ./get-docker.sh

В этом примере сценарий загружается с https://get.docker.com/ и запускается для установки последней стабильной версии Docker в Linux:

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
Executing docker install script, commit: 7cae5f8b0decc17d6571f9f52eb840fbc13b2737
<...>

Вы успешно установили и запустили Docker Engine. Служба docker запускается автоматически в дистрибутивах на основе Debian. В дистрибутивах на основе RPM, таких как CentOS, Fedora, RHEL или SLES, вам необходимо запускает его вручную с помощью соответствующей команды systemctl или service. Как указано в сообщении, пользователи без полномочий root не могут запускать команды Docker по умолчанию.

Примечание

Использовать Docker в качестве непривилегированного пользователя или установить в режиме без прав root?

Сценарию установки требуются привилегии root или sudo для установки и использования Docker. Если вы хотите предоставить пользователям без полномочий root доступ к Docker, обратитесь к файлу действия после установки для Linux. Вы также можете установить Docker без привилегий root или настроить его для работы в режиме без root. Инструкции по запуску Docker в режиме без полномочий root см. в статье о запуске демона Docker от имени пользователя без полномочий root режим без корней.

Устанавливает предварительные версии

Docker также предоставляет удобный скрипт по адресу https://test.docker.com/ для установки предварительных релизов Docker в Linux. Данный сценарий аналогичен сценарию на get.docker.com, но настраивает ваш менеджер пакетов на использование тестового канала репозитория пакетов Docker. В тестовый канал входят как стабильные, так и пре-релизы (бета-версии, релиз-кандидаты) Docker. Используйте данный скрипт, чтобы получает ранний доступ к новым выпускам и вычислить их в тестовой среде, прежде чем они будут выпущены как стабильные.

Чтобы установить последнюю версию Docker на Linux из тестового канала, выполните:

$ curl -fsSL https://test.docker.com -o test-docker.sh
$ sudo sh test-docker.sh

Обновляет Docker после использования удобного скрипта

Если вы установили Docker с помощью удобного сценария, вам следует обновить Docker напрямую с помощью диспетчера пакетов. Повторный запуск вспомогательного сценария не предоставляет никаких преимуществ. Повторный запуск может вызвать проблемы, если он попытается переустановить репозитории, которые уже существуют на хост-компьютере.

Удаляет Docker Engine

  1. Удаляет пакеты Docker Engine, CLI, Containerd и Docker Compose:

    $ sudo yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
    
  2. Образы, контейнеры, тома или настроенные файлы конфигурации на вашем хосте не удаляются автоматически. Чтобы удаляет все образы, контейнеры и тома:

    $ sudo rm -rf /var/lib/docker
    $ sudo rm -rf /var/lib/containerd
    

Вы должны удаляет все отредактированные файлы конфигурации вручную.

Следующие шаги