Обновить

Комментарии 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 - образ, и запускать его также отдельно?

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

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

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

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

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

Информация

Сайт
ruvds.com
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия
Представитель
ruvds