Установка и настройка Docker на linux alpine 3.19
Подробное руководство по установке, настройке и оптимизации Docker для linux alpine 3.19
Введение
Docker - ключевой инструмент для контейнеризации приложений. В этом руководстве мы установим Docker на Alpine Linux 3.19 - легковесный дистрибутив, идеально подходящий для контейнерных сред. Рассмотрим тонкости настройки и типовые проблемы.
Требования
Необходимые условия:
- Alpine Linux 3.19
- Минимум 512 MB RAM
- Пользователь с правами sudo
- Ядро Linux 5.10+ (проверить:
uname -r
) - 500 MB свободного места на диске
Установка
Подготовка
1# Обновляем пакетный индекс 2apk update 3 4# Устанавливаем зависимости 5apk add docker-cli docker-buildx docker-compose-plugin 6 7# Добавляем репозиторий community (если не активен) 8echo 'http://dl-cdn.alpinelinux.org/alpine/v3.19/community' >> /etc/apk/repositories
Процесс установки
1# Установка основных компонентов 2apk add docker openrc 3 4# Добавляем пользователя в группу docker 5adduser $USER docker 6 7# Включаем автозагрузку службы 8rc-update add docker default 9 10# Запускаем демон Docker 11service docker start 12 13# Проверяем установку 14docker --version 15docker info
Настройка
Базовая конфигурация:
1# Создаем конфиг-файл демона 2mkdir -p /etc/docker 3echo '{ 4 "log-driver": "json-file", 5 "log-opts": { 6 "max-size": "10m", 7 "max-file": "3" 8 } 9}' > /etc/docker/daemon.json 10 11# Перезагружаем демон 12service docker restart 13 14# Проверяем конфигурацию 15docker info | grep Logging
Оптимизация:
- Используйте
overlay2
как storage-driver (активен по умолчанию) - Настройте ограничения ресурсов через
--cpus
и--memory
Типичные ошибки и их решения
-
**"Got permission denied" при запуске контейнеров Решение:
1reboot # или выполните 'newgrp docker'
-
**Демон Docker не запускается Решение:
1rc-service docker start 2journalctl -u docker -n 50
-
**Ошибки сетевого моста Решение:
apk add iptables service docker restart
Заключение
Вы успешно установили Docker на Alpine 3.19. Для проверки выполните:
1docker run --rm hello-world
Дальнейшие шаги:
- Настройте TLS для удаленного доступа
- Изучите docker-compose для оркестрации
- Регулярно обновляйте пакеты через
apk upgrade
Команды
Активация репозитория community
1echo 'http://dl-cdn.alpinelinux.org/alpine/v3.19/community' >> /etc/apk/repositories
Установка Docker Engine
1apk add docker openrc
Запуск демона Docker
service docker start && rc-update add docker default
Решение проблем
Ошибка cgroups v2
Добавьте в командную строку ядра: systemd.unified_cgroup_hierarchy=0
1echo 'kernel /boot/vmlinuz-linux root=UUID=... systemd.unified_cgroup_hierarchy=0' > /boot/loader/entries/alp.conf
Недостаток прав на /var/run/docker.sock
Проверьте членство в группе docker и перезапустите сессию
1chmod 666 /var/run/docker.sock (временное решение)