ㅤ
Я про
docker-compose.yaml. Так вот, в современных дистрибутивах не обязательно называть так файл, достаточно обозвать его compose.yaml и всё будет работать. Но при условии если у тебя не допотопная ОС со старой версией docker’a.Современный docker давно перешел на
compose.yaml. docker-compose — это отдельный python-инструмент
docker compose — встроенный плагин docker cli
Теперь docker в приоритете ищет файл
compose.yaml и только потом старый docker-compose.yaml. И так и так все будет работать. Оно пока на это не ругается, но рано или поздно к этому придут. Наверное ты уже замечал, что если в
yaml указать version: 3.9 оно скажет — ты ебанутый? Я пожалуй это проигнорирую.Это нужно было указывать раньше, чтобы docker понимал какие поля разрешены и как вообще интерпретировать файл. Теперь это легаси и docker автоматически определяет версию, чтобы избавиться от зоопарка версий: v2, v2, v3.7, v3.9. Получаем один формат → одна логика → меньше гемора.
Кстати аналогичная хуйня в кубере, где версию апихи указываешь в манифестах. Если ты не знаешь как с этим работать, будет тебе боль и страдания. За эту тему поговорим отдельно.
Но опять же если у тебя древняя ОС, выбора особо не будет, придется прописывать версии и поддерживать это наследие.
Пример с version или подстава. Создавалась это не для docker compose, а для docker swarm. В
version:3 Docker Compose просто молча игнорировал: mem_limit, cpu_shares, cpus, restart_policy, depends_on. Не было ни ошибок, ни предупреждений. Просто ничего не происходило. Контейнер запускался, но не как ожидалось.version: "3"
mem_limit: 512m
Хм… 512 говоришь, хуй те! Эй OOM давай к нам, у нас тут пациент!
version:3 — Swarm-спекаНу и про
yaml и yml пару строк. Можно писать так и так, оба варианта равноправны. Но всё же рекомендуется yaml, потому что это полное официальное расширение, так пишется в спецификациях и документациях. Плюсом это единый стиль Kubernetes, GitHub Actions, Helm и т.п.На сколько помню
yml пошел со старых систем, когда было ограничение в 3 символа, опять же наследие прошлого. Возможно ошибаюсь, поправьте в комментах.
🛠 #docker #linux #devops
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog