fix(bootstrap): skip Docker apt if compose ready; doc containerd conflict
Made-with: Cursor
This commit is contained in:
@@ -218,3 +218,37 @@ sudo OWGIT_REPO_DIR="$(pwd)" ENABLE_HAPROXY=false ./scripts/bootstrap-own-git.sh
|
||||
Либо склонируйте репозиторий в `/opt/owngit` и используйте `OWGIT_REPO_DIR=/opt/owngit`. Запускайте **`./scripts/bootstrap-own-git.sh`** из каталога клона (или с явным путём к скрипту), чтобы не исполнить случайный скрипт из `$PATH`.
|
||||
|
||||
См. также блок про bootstrap в [`README.md`](../README.md).
|
||||
|
||||
## 12) `containerd.io : Conflicts: containerd` при установке Docker / bootstrap
|
||||
|
||||
На одной системе не должно одновременно стоять:
|
||||
|
||||
- **`containerd`** — пакет Ubuntu, тянется вместе с **`docker.io`**;
|
||||
- **`containerd.io`** — пакет из [репозитория Docker Inc.](https://docs.docker.com/engine/install/ubuntu/), нужен для **`docker-ce`** и типичной связке с **`docker-compose-plugin`** из того же источника.
|
||||
|
||||
Если вы ставили **`docker.io`** из Ubuntu, а затем **`docker-compose-plugin`** с `download.docker.com`, apt может попытаться подтянуть **`containerd.io`** и упасть с конфликтом.
|
||||
|
||||
### Решение A (рекомендуется): только стек Docker Inc.
|
||||
|
||||
После того как репозиторий Docker уже добавлен (шаг B из §10):
|
||||
|
||||
```bash
|
||||
sudo apt-get remove -y docker.io docker-doc docker-compose docker-compose-v2 docker-doc podman-docker containerd runc 2>/dev/null || true
|
||||
sudo apt-get autoremove -y
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
||||
sudo systemctl enable --now docker
|
||||
docker compose version
|
||||
```
|
||||
|
||||
Повторите [`bootstrap-own-git.sh`](../scripts/bootstrap-own-git.sh): при уже рабочем `docker compose` он **не** будет снова вызывать `apt` для Docker.
|
||||
|
||||
### Решение B: только пакеты Ubuntu
|
||||
|
||||
Если хотите оставить **`docker.io`** без репозитория Docker — не ставьте **`docker-compose-plugin`** из Docker; используйте **`docker-compose`** как отдельную команду из пакета universe или бинарник Compose v2 вручную (§10, шаг C).
|
||||
|
||||
### Проверка
|
||||
|
||||
```bash
|
||||
dpkg -l | grep -E 'docker.io|docker-ce|containerd|compose'
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user