Подробный гайд по установке и настройке Docker в ALT Linux

Гайд по установке Docker Engine и Compose в ALT Linux. Настройка прав, прокси и безопасности. Альтернативы Docker Desktop для стабильной разработки.

2026.04.07                  


Подробный гайд по установке и настройке Docker в ALT LinuxПодробный гайд по установке и настройке Docker в ALT Linux

Важное уточнение перед началом

  • Docker Desktop официально поставляется только в формате .deb для Linux и не поддерживается разработчиками в RPM-дистрибутивах, включая ALT Linux. Попытки установки через конвертацию пакетов (alien) или ручную распаковку часто приводят к нестабильной работе, особенно с systemd user-службами, D-Bus и графическими сессиями.

Для ALT Linux (и любого Linux) рекомендуется использовать нативный стек:

  • Docker Engine + Docker CLI + Docker Compose (v2) + опционально GUI (Portainer, LazyDocker). Это официально поддерживаемый, стабильный и легковесный вариант, полностью совместимый с политиками безопасности ALT Linux.

Если вам критически нужен именно Docker Desktop (Kubernetes, WSL-эмуляция, встроенный GUI), в конце гайда приведён workaround с предупреждениями.

Шаг 1. Подготовка системы (ALT Linux 10/11, p10/p11/Sisyphus)

1. Обновите систему:

sudo apt-get update
sudo apt-get upgrade -y

2. Проверьте поддержку cgroups v2 (обязательно для современных версий Docker):

stat -fc %T /sys/fs/cgroup/
# Ожидаемый вывод: cgroup2fs

Если выводится tmpfs или cgroup, добавьте в параметры ядра в загрузчике: systemd.unified_cgroup_hierarchy=1 и перезагрузитесь.

3. Убедитесь, что используется systemd (по умолчанию в современных выпусках ALT):

pidof systemd && echo "systemd active" || echo "systemd not found"

Шаг 2. Установка нативного Docker Engine (Рекомендуемый способ)

2.1. Установка из официальных репозиториев ALT Linux

В ALT Linux пакеты Docker уже собраны и протестированы под дистрибутив:

sudo apt-get install docker docker-compose-plugin

docker-compose-plugin предоставляет команду docker compose (v2). Старая docker-compose (v1) считается устаревшей.

2.2. Активация и автозагрузка

sudo systemctl enable --now docker
sudo systemctl status docker

2.3. Настройка прав для обычного пользователя

sudo usermod -aG docker $USER
newgrp docker
# Или выйдите и войдите в систему заново

2.4. Проверка установки

docker --version
docker compose version
docker run --rm hello-world

Шаг 3. Базовая настройка Docker в ALT Linux

Создайте или отредактируйте конфигурацию демона:

sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json

Пример конфигурации для корпоративной/офисной среды:

{
  "storage-driver": "overlay2",
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  },
  "data-root": "/var/lib/docker",
  "registry-mirrors": ["https://mirror.gcr.io"],
  "dns": ["8.8.8.8", "77.88.8.8"],
  "live-restore": true,
  "no-new-privileges": true
}

Пояснения к параметрам:

  • registry-mirrors ускорит загрузку образов в РФ.
  • live-restore позволяет контейнерам работать при перезапуске демона.
  • no-new-privileges повышает безопасность.

Примените изменения:

sudo systemctl restart docker
docker info | grep -E "Storage|Logging|Registry"

Шаг 4. Настройка прокси (если требуется)

Если выход в интернет идёт через корпоративный прокси:

1. Создайте drop-in для systemd:

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf

2. Содержимое файла:

[Service]
Environment="HTTP_PROXY=http://proxy.company.ru:3128"
Environment="HTTPS_PROXY=http://proxy.company.ru:3128"
Environment="NO_PROXY=localhost,127.0.0.1,.local"

3. Перечитайте конфигурацию и перезапустите:

sudo systemctl daemon-reload
sudo systemctl restart docker

Шаг 5. Альтернативы Docker Desktop для Linux

Если вам нужен графический интерфейс, используйте лёгкие и официально поддерживаемые решения:

Инструмент: Portainer

Установка в ALT Linux:

docker run -d -p 9000:9000 --name portainer --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v portainer_/data portainer/portainer-ce

Описание: Веб-панель управления

  • Инструмент 1: LazyDocker
  • Установка в ALT Linux 1: sudo apt-get install lazydocker или через snap/flatpak
  • Описание 1: TUI-терминальный интерфейс

  • Инструмент 2: Docker Compose UI

  • Установка 2: pip install docker-compose-ui или Docker-контейнер
  • Описание 2: Простой веб-интерфейс для compose

Шаг 6. Установка Docker Desktop для Linux (Неофициально)

Внимание:

  • Не рекомендуется для production. Может ломаться при обновлениях ALT Linux. Требует графической сессии (X11/Wayland), systemd user instance и D-Bus.

1. Скачайте .deb с официального сайта Docker:

  • https://docs.docker.com/desktop/install/linux/

2. Установите утилиты конвертации:

sudo apt-get install alien fakeroot

3. Конвертируйте и установите:

fakeroot alien --to-rpm --scripts docker-desktop-*.deb
sudo rpm -Uvh --nodeps docker-desktop-*.rpm

4. Активируйте user-службу:

systemctl --user enable --now docker-desktop

5. Запуск через меню приложений или:

docker-desktop

Диагностика при сбоях:

journalctl --user -u docker-desktop --no-pager -n 50

Частые проблемы: отсутствие xdg-desktop-portal, конфликт cgroups, нехватка прав на /var/run/docker.sock.

Шаг 7. Проверка и тестирование

# Статус системы
docker info

# Тест сети и хранилища
docker run --rm -it alpine sh -c "ping -c 3 8.8.8.8 && df -h /"

# Тест compose
mkdir ~/test-compose && cd ~/test-compose
echo -e "services:\n  web:\n    image: nginx:alpine\n    ports:\n      - \"8080:80\"" > docker-compose.yml
docker compose up -d
curl -s http://localhost:8080 | head -n 5
docker compose down

Шаг 8. Особенности ALT Linux и безопасность

  • Аспект 1: SELinux/AppArmor
  • Рекомендация 1: В ALT по умолчанию не включён. Для усиления: sudo apt-get install apparmor-utils

  • Аспект 2: Firewall

  • Рекомендация 2: Docker управляет iptables/nftables автоматически. Не блокируйте docker0 вручную

  • Аспект 3: Обновления

  • Рекомендация 3: sudo apt-get update && sudo apt-get upgrade обновит Docker вместе с системой

  • Аспект 4: Rootless mode

  • Рекомендация 4: Для повышенных требований безопасности: sudo apt-get install rootlesskit docker-rootless-extras и настройка по официальной документации: https://docs.docker.com/engine/security/rootless/

Итог

  • Задача 1: Рабочая среда/разработка
  • Решение в ALT Linux 1: docker + docker-compose-plugin + Portainer/LazyDocker

  • Задача 2: Сервер/Production

  • Решение в ALT Linux 2: Нативный Docker Engine, без GUI

  • Задача 3: Строго Docker Desktop

  • Решение в ALT Linux 3: Неофициальная установка через .deb -> .rpm (не рекомендуется)