2.9 KiB
Проблема у несумісності Portainer CE ↔ Docker 29.0.2. Але на Ubuntu 24.04, Docker 29.x ставиться автоматично та ламає мені усю роботу.
🔥 КРОК 1 — Видаляємо Docker 29.x
ВАЖЛИВО: контейнери та образи НЕ видаляться, якщо не чіпати
/var/lib/docker.sudo systemctl stop docker sudo apt remove -y docker-ce docker-ce-cli docker-ce-rootless-extras docker-buildx-plugin docker-compose-plugin sudo apt autoremove -y
🔥 КРОК 2 — Прибрати старі репозиторії Docker
Бо в них уже лежить Docker 29.x, і apt знову поставить його.
sudo rm -f /etc/apt/sources.list.d/docker.list sudo rm -f /usr/share/keyrings/docker.asc
🔥 КРОК 3 — Додати репозиторій Docker із архівом старих версій
Docker зберігає всі старі версії тут:
https://download.docker.com/linux/ubuntu/dists/
Для Ubuntu 24.04 (Noble) робимо:
echo "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu noble stable" | sudo tee /etc/apt/sources.list.d/docker.list
Додаємо ключ:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --yes --dearmor -o /usr/share/keyrings/docker.asc
Оновлюємо індекс:
sudo apt update
🔥 КРОК 4 — Подивитися всі доступні версії Docker 25.x
apt-cache madison docker-ce
Ти побачиш список типу:
docker-ce | 5:25.0.5-1~ubuntu.24.04~noble | ... docker-ce | 5:24.x.x | ... docker-ce | 5:20.x.x | ...
🔥 КРОК 5 — Встановити Docker 25.x
Наприклад, 25.0.5:
sudo apt install docker-ce=5:25.0.5-1~ubuntu.22.04~jammy sudo apt install docker-ce-cli=5:25.0.5-1ubuntu.22.04jammy
sudo apt install docker-ce-rootless-extras=5:25.0.5-1~ubuntu.22.04~jammy sudo apt install docker-buildx-plugin docker-compose-plugin`
🔥 КРОК 6 — Заборонити оновлення Docker
Щоб Ubuntu не оновила його назад до 29.x:
sudo apt-mark hold docker-ce docker-ce-cli docker-ce-rootless-extras docker-buildx-plugin docker-compose-plugin
🔥 КРОК 7 — Перевірити версію
docker version
Має бути щось типу:
Server: Docker Engine - Community Version: 25.0.5 API version: 1.42
Portainer CE працює до API 1.45, тому все буде норм.
🔥 КРОК 8 — Перезапустити Portainer CE
docker stop portainer docker rm portainer docker run -d \ -p 9443:9443 \ --name portainer \ --restart=always \ -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data \ portainer/portainer-ce:2.21.4
#Portainer #Docker