разделы:

Не устанавливается Docker на Debian 12 на чистой aaPanel

На днях столкнулся с ситуацией, когда после чистой установки Debian 12 на сервер и последующей установки aaPanel, в разделе Docker, вместо привычного меню управления, висит сообщение о том, что docker или docker-compose не установлен и необходима его принудительная установка.

Currently not installed docker or docker-compose, click instal

Currently not installed docker or docker-compose, click instal
В настоящее время не установлен docker или docker-compose, нажмите «Установить»

Ниже я опишу варианты , которые в большинстве ситуациях смогут вам помочь в такой ситуации. Это и вариант предлагаемый службой поддержки на официальном форуме, а так же вариант, который сработал у меня и вполне себе успешно работает уже некоторое время без каких-либо нареканий или проблем.

Используемая версия aaPanel: FREE 6.9.71
Используемая версия Debian: Debian 12 x86_64

Если просто нажать на ссылку instal, как предлагается в сообщении, то по началу процесс установки будет запущен, но без результата, а в конечном итоге, в логах вы увидите предупреждения что-то вроде такого:

Requirement already satisfied: charset-normalizer<3,>=2 in ./pyenv/lib/python3.7/site-packages (from requests!=2.18.0,>=2.14.2->docker) (2.0.12)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./pyenv/lib/python3.7/site-packages (from requests!=2.18.0,>=2.14.2->docker) (1.26.7)
Requirement already satisfied: idna<4,>=2.5 in ./pyenv/lib/python3.7/site-packages (from requests!=2.18.0,>=2.14.2->docker) (2.8)
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
[notice] A new release of pip available: 22.3 -> 23.1.2
[notice] To update, run: /www/server/panel/pyenv/bin/python3.7 -m pip install --upgrade pip
/bin/systemctl
Warning: Stopping docker.service, but it can still be activated by:
docker.socket
Warning: The unit file, source configuration file or drop-ins of getty@tty1.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Created symlink /etc/systemd/system/getty@tty1.service → /dev/null.
Synchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable docker

Тут вроде казалось бы мелочи, версия pip недостаточно свежая и права не те, но в конечном итоге, процесс стопорится. И сколько бы не повторяли, результата не будет.

После недолгих поисков, стало понятно, что проблема довольно распространенная и не редка, а на официальном форуме дают некоторое решение. Есть подозрение, что некоторым это решение помогает. Выглядит оно так:

В консоли под su переходим в директорию, где лежат установочные скрипты
cd /www/server/panel/install/
Скачиваем туда новый установочный скрипт
wget http://download.bt.cn/install/0/docker_install.sh

Затем обязательно удаляем docker, если он случайно установился, но криво
/bin/bash /www/server/panel/install/docker_install.sh uninstall

Удаляем имеющийся скрипт установки
rm -rf /www/server/panel/install/docker_install.sh

Запускаем установку скрипта, который мы только что скачали
/bin/bash /www/server/panel/install/install_soft.sh 0 install docker_install

В некоторых ситуациях, все успешно установится и на этом ваш вопрос можно считать решенным. Но в моем случае, все закончилось предупреждениями в логах.

Обращаемся к инструкции установки Docker на Debian, которая в общем итоге и помогла.

Обновляем списки пакетов из репозиториев и «обновляем» их, чтобы получить информацию о новейших версиях пакетов и их зависимостях.
sudo apt update

Устанавливаем необходимые пакеты, по очереди выполняя команды
apt -y install ca-certificates curl gnupg lsb-release

curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

Обновляем списки пакетов чтобы в системе появился новый репозиторий. Выполняем команду:
sudo apt update

Устанавливаем Docker
apt -y install docker-ce docker-ce-cli containerd.io

Запускаем Docker и добавляем в автозагрузку
systemctl start docker
systemctl enable docker

После чего перезагружаем сервер и убеждаемся, что сообщение о необходимости установить Docker пропало и все теперь работает и отображается. Теперь можно полноценно использовать Docker используя все возможности панели aaPanel.

Полезные ссылки:

https://forum.aapanel.com/ Форум aaPanel
https://doc.aapanel.com/web/#/3?page_id=117 Документация aaPanel
www.aapanel.com Сайт aaPanel
www.docker.com Сайт Docker
Документация Docker Документация Docker