На момент написания данной статьи существуют два разных издания Docker:
Docker Community Edition (DCE) — подходит для разработчиков и маленьких команд.
Docker Enterprise Edition (DEE) — подходит для использования большими командами в продакшене.
Docker Enterprise Edition также имеет разные издания:
Basic
Standard
Advanced
Все примеры данного урока созданы с помощью Docker Community Edition, который является бесплатным.
Установка RPM-пакета Docker на Linux
На самом деле, процесс установки Docker довольно простой и понятный. Сейчас мы рассмотрим установку Docker из RPM-дистрибутива (сокр. от англ. «Red Hat Package Manager») операционной системы на базе Linux. К данным дистрибутивам относятся следующие:
В моем случае, это Fedora 31.
Сначала нам нужно добавить репозиторий Docker. Для этого устанавливаем пакет dnf-plugins-core
, который позволяет управлять репозиториями из командной строки с помощью следующей команды:
sudo dnf -y install dnf-plugins-core
Далее добавляем стабильный репозиторий Docker:
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
После добавления репозиториев устанавливаем Docker с помощью следующей команды:
sudo dnf install docker-ce docker-ce-cli containerd.io
Если команда запросит подтверждение GPG-ключа (сокр. от англ. «GNU Privacy Guard»), то проверьте, совпадает ли фингерпринт со значением 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
. Если совпадает, то подтверждайте.
Fedora 31 может возвратить вам исключение CGroups
, поэтому для решения данной проблемы вы должны включить обратную совместимость для CGroups
следующей командой:
sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"
Дальше вам нужно запустить daemon-сервис самого Docker:
sudo systemctl start docker
Чтобы проверить, что процесс установки прошел успешно, вы можете запустить следующую команду:
docker run hello-world
Последним шагом является добавление пользователя в группу Docker для возможности запуска Docker-команд без прав суперпользователя:
sudo usermod –aG docker $USER && newgrp docker
Поздравляю, вы успешно установили Docker на RPM-дистрибутив Linux!
Установка DEB-пакета Docker на Linux
Сейчас мы рассмотрим установку DEB-пакета Docker на Linux на примере Ubuntu 18.04 LTS, но эта инструкция также подойдет и для следующих дистрибутивов:
Ubuntu Eoan 19.10
Ubuntu Bionic 18.04 (LTS)
Ubuntu Xenial 16.04 (LTS)
Debian Stretch 9
Debian Buster 10
Также всё будет работать и на других Linux-дистрибутивах, которые основаны на вышеперечисленных.
Docker Community Edition доступен для следующих архитектур:
x86_64 (или amd64)
armhf
arm64
s390x (IBM Z)
ppc64le (IBM Power)
Если вы уже когда-нибудь пробовали установить Docker, то у вас могли остаться старые и ненужные пакеты, для их удаления воспользуемся следующей командой:
sudo apt-get remove docker docker-engine docker.io containerd runc
Если у вас ничего не было установлено, то в терминале вы получите сообщение, что таких пакетов у вас нет:
При этом содержимое директории /var/lib/docker, где Docker хранит образы (images), контейнеры (containers), хранилища (volumes) и настройки сетей (networks), будут сохранены. Пакет Docker Engine Community сейчас называется docker-ce
.
Есть 3 способа установки Docker CE в Ubuntu:
Способ №1: Настроить поддержку репозитория Docker и установить его оттуда.
Способ №2: Загрузить DEB-пакет и установить его вручную.
Способ №3: Воспользоваться автоматическими скриптами, которые позволяют установить Docker.
Сейчас мы рассмотрим установку Docker из репозиториев, так как этот способ наиболее безопасен и позволит обновлять Docker вместе с системой.
Итак, первым делом нам нужно добавить Docker-репозиторий — это место, где хранятся все нужные для установки Docker пакеты. Безопасность данного способа заключается в том, что эти репозитории имеют цифровую подпись, гарантирующую получение именно того пакета Docker, который нужен и ничего лишнего.
Для начала обновим список существующих репозиториев в системе:
sudo apt-get update
Далее установим пакеты:
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
Затем подтверждаем наши намерения символом y
и нажимаем Enter
:
После подтверждения получим следующий вывод:
Далее нам нужно добавить официальный GPG-ключ для Docker репозитория:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
После чего нажимаем Enter
.
Проверяем цифровой отпечаток ключа 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
, сравнивая последние 8 символов с помощью следующей команды:
sudo apt-key fingerprint 0EBFCD88
Воспользуемся следующей командой, чтобы добавить стабильный репозиторий Docker:
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
После этого нам снова нужно обновить список репозиториев:
sudo apt-get update
И, собственно, устанавливаем сам Docker:
sudo apt-get install docker-ce docker-ce-cli containerd.io
После скачивания и установки Docker нам нужно добавить пользователя в группу Docker, чтобы иметь возможность использовать команды Docker без прав суперпользователя:
sudo usermod -aG docker $USER
Чтобы обновления в группах вступили в силу, воспользуемся следующей командой:
newgrp docker
Проверяем, всё ли ок:
docker run hello-world
Если в терминале появились сообщения, указанные на скриншоте, расположенном выше, то вы успешно установили Docker на DEB-дистрибутив Linux!