Подробный гайд по установке и настройке 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 (не рекомендуется)