Найти в Дзене

Docker. Установка.

Docker — это платформа для контейнеризации приложений, позволяющая упаковывать ПО в изолированные среды. В этой статье рассмотрим установку Docker в Linux-системах, настройку демона и управление правами доступа. Перед установкой Docker убедитесь, что: sudo apt update && sudo apt upgrade # для Debian-based
sudo dnf update # для RPM-based # для Debian-based
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
# для RHEL-based
sudo dnf install -y yum-utils lvm2 Docker предоставляет собственные репозитории для большинства дистрибутивов. Для Debian/Ubuntu: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update Для CentOS/RHEL: sudo yum-config-manager --add-repo https
Оглавление

Docker — это платформа для контейнеризации приложений, позволяющая упаковывать ПО в изолированные среды. В этой статье рассмотрим установку Docker в Linux-системах, настройку демона и управление правами доступа.

Подготовка системы

Перед установкой Docker убедитесь, что:

  • Система обновлена:
sudo apt update && sudo apt upgrade # для Debian-based
sudo dnf update
# для RPM-based
  • Установлены необходимые зависимости:
# для Debian-based
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
# для RHEL-based
sudo dnf install -y yum-utils lvm2
-2

Установка Docker

Добавление официального репозитория Docker

Docker предоставляет собственные репозитории для большинства дистрибутивов.

Для Debian/Ubuntu:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update

Для CentOS/RHEL:

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

Установка Docker Engine

sudo apt install docker-ce docker-ce-cli containerd.io # для Debian-based
sudo dnf install docker-ce docker-ce-cli containerd.io
# для RHEL-based

Запуск и автозагрузка Docker

sudo systemctl start docker
sudo systemctl enable docker

Проверка статуса:

sudo systemctl status docker
-4

Настройка Docker после установки

Управление правами доступа

По умолчанию Docker требует sudo. Чтобы запускать команды без прав root, добавьте пользователя в группу docker:

sudo usermod -aG docker $USER
newgrp docker
# Обновление групп без перезагрузки

Проверка:

docker run hello-world
-5

Настройка демона Docker

Конфигурация Docker хранится в:

  • /etc/docker/daemon.json (основной файл настроек).
  • Системные параметры (для systemd — /etc/systemd/system/docker.service.d/override.conf).

Пример настройки daemon.json:

{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}

Применение изменений:

sudo systemctl restart docker

Выбор драйвера хранения

Docker поддерживает несколько драйверов:

  • overlay2 (рекомендуется для современных ядер).
  • devicemapper (устаревший, используется в старых системах).
  • btrfs, zfs (для специфичных случаев).

Проверка текущего драйвера:

docker info | grep "Storage Driver"

-6

Возможные проблемы и их решение

Ошибка доступа к демону

BashCopy

Got permission denied while trying to connect to the Docker daemon

Решение:

  • Убедитесь, что пользователь в группе docker.
  • Перезапустите демон:
sudo systemctl restart docker

Конфликты с SELinux/AppArmor

Если контейнеры не запускаются:

sudo setenforce 0 # Временно отключить SELinux

Или настройте политики:

sudo ausearch -c 'docker' --raw | audit2allow -M my-docker
sudo semodule -i my-docker.pp

Заключение

Docker можно установить в любом Linux-дистрибутиве, используя официальные репозитории. Основные шаги:

  1. Добавить репозиторий Docker.
  2. Установить пакеты docker-ce, docker-ce-cli, containerd.io.
  3. Настроить права доступа через группу docker.
  4. Опционально изменить параметры демона в /etc/docker/daemon.json.

Рекомендации:

  • Используйте overlay2 для лучшей производительности.
  • Настройте логирование во избежание переполнения диска.

Дополнительный материал