diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index daf5666..2b3e8d4 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -122,36 +122,70 @@ ROOT_URL = https://git.papatramp.ru/ ## 10) `E: Unable to locate package docker-compose-plugin` -Команды в этом репозитории используют **Docker Compose v2** (`docker compose …`). Пакет `docker-compose-plugin` есть не на каждой установке Ubuntu: отключён репозиторий **universe**, минимальный образ, сторонняя сборка без полных источников apt. +Команды в этом репозитории используют **Docker Compose v2** (`docker compose …`). -### Шаг 1: включить `universe` и обновить индекс +### Почему так бывает -На официальных Ubuntu Desktop/Server пакет обычно в **universe**: +- Пакет **`docker-compose-plugin`** иногда отсутствует в вашем наборе репозиториев (например, на Ubuntu 24.04 Noble даже при включённом **universe** зеркало может не отдавать пакет или он не попадает в установку). +- Пакеты **`docker-ce`**, **`docker-ce-cli`**, **`containerd.io`**, **`docker-compose-plugin`** с сайта Docker **не входят** в обычные `ubuntu.com` репозитории. Пока не добавлен **[официальный apt-источник Docker](https://docs.docker.com/engine/install/ubuntu/)**, команда `apt-get install docker-ce …` всегда даст *no installation candidate* — это ожидаемо. + +### Шаг A (опционально): включить `universe` + +Иногда помогает; без вопросов в консоли используйте `-y`: ```bash sudo apt-get install -y software-properties-common -sudo add-apt-repository universe +sudo add-apt-repository -y universe sudo apt-get update sudo apt-get install -y docker-compose-plugin ``` -Если Docker ещё не ставили: `sudo apt-get install -y docker.io` (и снова `docker-compose-plugin`). +Если снова *Unable to locate package* — переходите к шагу B. -### Шаг 2: официальный репозиторий Docker (если шаг 1 не помог) +### Шаг B: репозиторий Docker + установка (основной способ) -Подходит для систем без нужного пакета в Ubuntu или если нужны актуальные **docker-ce** и плагины с одного источника. Полная инструкция и ключи — на [странице установки Docker Engine для Ubuntu](https://docs.docker.com/engine/install/ubuntu/). - -Кратко: добавляется репозиторий `download.docker.com`, затем: +Сначала **подключите** репозиторий, затем ставьте пакеты (пример как в [документации Docker](https://docs.docker.com/engine/install/ubuntu/)): ```bash sudo apt-get update +sudo apt-get install -y ca-certificates curl +sudo install -m 0755 -d /etc/apt/keyrings +sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc +sudo chmod a+r /etc/apt/keyrings/docker.asc + +echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ + $(. /etc/os-release && echo "${VERSION_CODENAME}") stable" | \ + sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + +sudo apt-get update +``` + +Если уже стоит **`docker.io`** из Ubuntu и хотите заменить на **`docker-ce`**, снимите конфликтующие пакеты (список из документа Docker; отредактируйте при необходимости): + +```bash +for p in docker.io docker-doc docker-compose docker-compose-v2 docker-doc podman-docker containerd runc; do + sudo apt-get remove -y "$p" 2>/dev/null || true +done +``` + +Установка демона и плагинов: + +```bash sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo systemctl enable --now docker ``` -**Важно:** пакет **`docker.io`** (из Ubuntu) и метапакет **`docker-ce`** (из Docker) для демона конфликтуют: на одной машине держите что-то одно. Если уже установлен `docker.io` и менять не хотите, сначала попробуйте только **шаг 1** и отдельно `docker-compose-plugin` из того же Ubuntu; иначе перейдите на `docker-ce` по документации Docker и удалите `docker.io`. +Проверка: -### Шаг 3: плагин вручную из релиза Compose (без apt) +```bash +docker --version +docker compose version +``` + +**Важно:** держите на машине один вариант демона Docker: либо **`docker.io`** (из Ubuntu), либо **`docker-ce`** (из Docker). Для этого репозитория удобнее стек Docker Inc. со шага B и `docker compose`. + +### Шаг C: плагин вручную из релиза Compose (без apt) Если нужен только бинарник Compose v2 рядом с уже работающим `docker`: @@ -167,9 +201,3 @@ docker compose version ``` Путь `…/cli-plugins/docker-compose` — стандартный для подкоманды `docker compose`. - -### Проверка - -```bash -docker compose version -```