====== Ошибка: Docker: Ошибки команд (yaml, not found, in use...) ======
Это сборник "глупых" ошибок, которые возникали при работе с docker-compose и отнимали много времени.
==== `yaml: ... did not find expected key` ====
**Причина:** **Ошибка отступов** в файле docker-compose.yml. YAML очень чувствителен к пробелам. Даже один лишний или недостающий пробел ломает всю структуру.
**Решение:** Внимательно проверять отступы. Каждый новый уровень должен иметь **на два пробела больше**, чем предыдущий.
==== `additional properties '...' not allowed` ====
**Причина:** В docker-compose.yml попал **посторонний текст** (например, кусок предыдущей инструкции или команды).
**Решение:** Открыть файл и удалить весь "мусор", оставив только код YAML.
==== `no such file or directory` (при работе с файлами) ====
**Причина 1:** **Опечатка в пути.** Например, docker--stack вместо docker-stack.
**Причина 2:** **Я работаю не на той ВМ!** (Например, пытаюсь найти конфиг Apache на Docker-ВМ).
**Решение:** Всегда проверять, на какой машине я нахожусь (whoami) и в какой папке (pwd).
==== `Resource is still in use` (при docker compose down) ====
**Причина:** Какой-то "контейнер-призрак" (обычно от неудачного эксперимента, как ''BookStack'') не удалился и "держит" сеть.
**Решение:**
1. Найти "призраков": docker ps -a.
2. Принудительно удалить их: docker rm [имя_контейнера].
3. Либо использовать команду очистки: docker compose up -d --remove-orphans.
==== `File ... is being edited by root (with nano ...)` ====
**Причина:** "Зависла" предыдущая сессия sudo nano.
**Решение:** Найти и "убить" зависший процесс по его ID (ps aux | grep nano, затем sudo kill [PID]) или удалить "файл-призрак" блокировки (.имя_файла.swp).