82 lines
No EOL
2.9 KiB
Markdown
82 lines
No EOL
2.9 KiB
Markdown
**Проблема у несумісності [[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-1~ubuntu.22.04~jammy
|
||
`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 |