Как стать автором
Обновить

Комментарии 14

Тут недавно уже был пост, по то, как не надо делать докерфайлы, почитайте. (я про :latest и два ADD)
И WORKDIR надо ставить перед ADD. Это ведь разные слои и в текущем порядке последний слой будет заново генерироваться при каждом изменении файла проекта.

Плюс прописывание команда только в композ файле, это не лучшее решение. Оставлять образ без точки входа нельзя. Любой образ должен уметь запускаться командой start без допов.
Как статья называется? Подскажите pls.
Блин и тут учат делать :latest!
Ну почему во всех доках для нубов ВСЕГДА latest!
А потом мы удивляемся что выросло целое поколение DevOps инженеров, которые совершат одни и теже дурацкие ошибки. А как их не совершать, если в самой первой инструкции в жизни инженера написано FROM xxxxxxxx:latest

А что, если образы брать из своего репозитория, где версионирование под достаточным контролем?

:latest имеет право на жизнь. Например добавляем третий контейнер с adminer для работы с БД на этапе разработки. Это будет вспомогательный контейнер с утилитой, которая уберётся из продакшена.
Обычно его ставят для своих образов. В которых ты точно уверен и знаешь что под капотом.
В контексте docker-compose для сборки окружения разработки :latest вполне себе подходит.
Причём даже над Dockerfile для такого контейнера нет смысла заморачиваться.
Конкретные версии нужны для того, что будет и в разработке, и в продакшене.

Всегда есть нечто вспомогательное.
Да как может подоходить хоть куда-то python:latest, вот завтра выйдет питон 4, не совместимый с питон 3, и ваш питон скрипт просто не запустится
А вот adminer:latest вполне. Вообще вы не думаете, а повторяете чужие слова. Для вас контекста для размышления нет в моей фразе:
> Конкретные версии нужны для того, что будет и в разработке, и в продакшене.
Ещё разработчиков создавших возможность :latest опустите за возможность для конкретных ситуаций.
# Файл docker-compose должен начинаться с тега версии.
# Мы используем «3» так как это — самая свежая версия на момент написания этого кода.

version: «3»


Я использую 2.4, потому что у меня в файле еще настройки ограничения по процессорам и RAM. Если использовать ветку 3, то там основной упор идет на swarm, которого у меня нет.

Кто нибудь может подсказать, как то, что собирает docker-compose запихать в отдельный контейнер docker - образ, и запускать его также отдельно?

Если такой варианты существует и ты его нашел – расскажи пожалуйста.

Тоже столкнулся с этой проблемой, у меня докер-реестр в котором образы и докер-компос, который приходится таскать с собой на серверы, костыльно получается, все автоматизированно, а подобным довольно весомым ситуациям внимания не уделено.

Как бы оно и понятно, компос – просто надстройка для управления оркестром докеров, но все же :)

Отличная статья для новичков, очень доступным языком написано. А про лучшие практики: версии образов, количество слоёв и прочее это уже тема отдельной статьи, сюда если включить всю эту мишуру статья станет менее доступна для понимания, имхо.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий