Установка Docker CE в CentOS 7

В этой статье мы рассмотрим как быстро установить Docker CE в операционной системе CentOS Linux версии 7. Эта инструкция разработана по рекомендациям разработчика системы Docker и переведена на русский язык для большего удобства.

Сначала вам необходимо удалить все старые пакеты, которые у вас могут быть установлены:

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

Поскольку мы рассматриваем установку бесплатной версии Docker, то мы будем устанавливать Docker CE, который в официальном репозитории поставщика называется docker-ce.

Самый простой и удобный способ установки Docker CE — подключение репозиториев Docker и установка с помощью Yum.

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

Для установки из репозитория необходимо подключить репозиторий Docker к вашему Yum:

$ sudo yum install -y yum-utils \
      device-mapper-persistent-data \
      lvm2

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

Теперь можно установить все пакеты, которые требуются для работы Docker:

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

$ sudo systemctl start docker
$ sudo systemctl enable docker

Проверим работоспособность установленного Docker:

$ sudo docker run hello-world

Обновление Docker

Для обновления достаточно воспользоваться этой же инструкцией:

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

Установка автоматическим скриптом

Существует способ, который позволяет установить Docker CE с помощью выполнения всего пары команд:

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

Выполнение команд Docker от непривилегированного пользователя

После выполнения предыдущих действий вы сможете использовать команду docker только через повышение привилегий (sudo) или от пользователя root. Довольно часто это неудобно. Существует простой способ дать непривилегированному пользователю возможность выполнять выполнять команды Docker с помощью добавления пользователя в группу Docker:

$ sudo usermod -aG docker username

Теперь от имени данного пользователя можно выполнить команды Docker без указания sudo:

$ docker run hello-world
$ docker images
$ docker ps

Этот способ часто применяется как для взаимодействия с Docker в обычной жизни, так и для предоставления доступа к Docker различным приложениям, например, Gitlab runner.