docs: add full Docker apt repo steps for missing docker-compose-plugin
Made-with: Cursor
This commit is contained in:
+45
-17
@@ -122,36 +122,70 @@ ROOT_URL = https://git.papatramp.ru/
|
|||||||
|
|
||||||
## 10) `E: Unable to locate package docker-compose-plugin`
|
## 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
|
```bash
|
||||||
sudo apt-get install -y software-properties-common
|
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 update
|
||||||
sudo apt-get install -y docker-compose-plugin
|
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/).
|
Сначала **подключите** репозиторий, затем ставьте пакеты (пример как в [документации Docker](https://docs.docker.com/engine/install/ubuntu/)):
|
||||||
|
|
||||||
Кратко: добавляется репозиторий `download.docker.com`, затем:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get update
|
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 apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
||||||
sudo systemctl enable --now docker
|
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`:
|
Если нужен только бинарник Compose v2 рядом с уже работающим `docker`:
|
||||||
|
|
||||||
@@ -167,9 +201,3 @@ docker compose version
|
|||||||
```
|
```
|
||||||
|
|
||||||
Путь `…/cli-plugins/docker-compose` — стандартный для подкоманды `docker compose`.
|
Путь `…/cli-plugins/docker-compose` — стандартный для подкоманды `docker compose`.
|
||||||
|
|
||||||
### Проверка
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker compose version
|
|
||||||
```
|
|
||||||
|
|||||||
Reference in New Issue
Block a user