Etki
Так а как я на виндовой машине соберу новый образ и скажу докеру стартануть его?
подключиться к конечному хосту по сетке же. не уверен, что линь при этом соберется, но стартовать явно отсюда
Etki
в Digital Ocean ктонибудь докер хостит? У них есть готовый образы с докером но они под убунтой, убунта для докера это вообще норм? Просто у меня есть пару хостов с centos, там основной гемор для докера, что дефолтный фс бэкэнд для докера это луп девайсы, они медленные по понятным причинам, поэтому у меня под centos сделаны lvm разделы и юзается уже lvm как бэкэнд фс для докера. В DO несколько геморно получить тачку с lvm разделом, или может я просто слишком нуб, но как я понял если дроплет создал то уже ни как его основной раздел в lvm не конвернешь, только докупать как доп услугу еще раздел и его под lvm делать. А вот в убунте юзается aufs как бэкэнд докера, по дефолту, и там вроде как доп действий ни каких совершать не надо, следовательно на сколько это адекватное решение взять в DO готовый дроплет с убунутой+докер, вместо центос ? Кто не понял про что я говорю, я вот про это https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/ и продакшен моде. Для кого то может быть открытием что нельзя докер юзать в том виде в котором он по дефолту ставится в Centos
дефайн норм
Igor
дефайн?
Igor
если ты будешь собирать все на одной тачке, все кэши будут в одном месте и все будет быстро собираться
Pasha Chalyk
через неделю сборок образов ты упрешься диск капасити
Pasha Chalyk
если не будешь удалять старые кэши
Pasha Chalyk
слоев
Igor
чувак да у меня уже год собираются 4 проекта на 100гб харде
Igor
просто удаляй старый кал
Igor
и не куда не упрешься
Igor
тебе же все кэши не нужны, а только кэш последнего билда
Pasha Chalyk
да, вот как ты понимаешь какие слои старые и какие можно удалять?
Bogdan (SirEdvin)
Зависит от того, как ты огранизовал свои слои
Bogdan (SirEdvin)
А так ты просто удаляешь старую версию образа и докер сам почистит слои
Igor
кэш это не слои, кэш отдельно хранится и сам чистится
Bogdan (SirEdvin)
Если они никому не нужны
Bogdan (SirEdvin)
Разве кеш это не слои? Вроде как слои же
Bogdan (SirEdvin)
docker images -a выведет кучу "кеш" слоев.
Bogdan (SirEdvin)
*образов
Pasha Chalyk
у меня в день 30 пулл реквестов, на каждый из них прилетает сборка образа, образ проекта занимает 2гб, т.е. я за день сожру 60гб
Pasha Chalyk
потому как каждый из 30 образов тэгается коммит хэшом
🦠
Ну если правильно слои разбить - то нет
🦠
Подтянется только дифф
Pasha Chalyk
что значит правильно разбить слои?
Pasha Chalyk
add/copy в конец докерфайла?
🦠
В том числе
🦠
У меня настроен гитлаб ci с артефактами сборки живущими ограниченное время
Pasha Chalyk
вооооот
🦠
Между степами оно само все делает
Etki
docker images -a выведет кучу "кеш" слоев.
это не обязательно кэш, изображения-то из чего состоят
Igor
что значит правильно разбить слои?
вопрос в том что у тебя меняется в образе между сборками. У меня образы весят по 600-700 метров, но диф там всего 30-40 мегабайт, поэтому если код не менялся, то новый кэш не создается, или создается только то что занимает код
Igor
define
не, я не понял что такое define, о чем речь ? )
Etki
определи, что значит "норм для докера"
Pasha Chalyk
а делаете ли вы свои базовые образа?
Pasha Chalyk
а как потом саппортите их?
Pasha Chalyk
если там зависимости например обновились
Igor
если там зависимости например обновились
Dockerfile хранится в github, например я знаю что в моем базовом образе для node надо обновить ноду, я вытягиваю репу, затягиваю к примеру обновленный образ node локально, потом делаю ребилд образа и пушу в приватный хаб, а дальше иду на CI и подтягиваю новую версию, и CI уже собирает с новой версией базового образа. Ну то есть ручками, но это не сильно хитро, и вообще редко нужно
Igor
а вот с CI уже по хостам автоматом при билде расползется
Pasha Chalyk
ну в целом понятно, ты про то что базовый надо обновить когда узнаешь?
Pasha Chalyk
от разрабов?
Pasha Chalyk
когда чтото упало?
Bogdan (SirEdvin)
ну в целом понятно, ты про то что базовый надо обновить когда узнаешь?
А как в древние времена узнавали, что нужно обновить серверную ось?)
Igor
определи, что значит "норм для докера"
норм для докера, в том плане что юзают ли докер в убунте для продакшена? нет ли каких граблей? Вот для Centos я описал грабли, в дефолтной конфигурации у меня система загнулась изза локов, пришлось настраивать lvm. Я ведь ничего такого ужасного не делал, просто одновременно врубил деплой трех или четырех 700 метровых образов, то тупо на docker pull + docker run система встала изза луп девайсов
Bogdan (SirEdvin)
ну мы же не в древних временах
Инструменты все те же. Иногда раз в недельку смотришь на релизы пакетов. Если тебе лень, то просто не обновляешь) Самые громкие уязвимости и так до тебя дойдут.
Bogdan (SirEdvin)
Можно еще использовать всякие штуки для мониторинга уязвимостей
Igor
так а за какими ты пакетами следить собрался ?
Etki
Конечная цель - просто не менять конфигурацию демона? Хз, не тюнить систему невозможно по-моему
Bogdan (SirEdvin)
Разрабам нужны будут новые либы - они к тебе. Нашли громкую уязвимость - они к тебе,
Igor
на CI в крон поставь docker pull всего что нужно
Bogdan (SirEdvin)
Нужен новый функционал старых либ - они к тебе.
Bogdan (SirEdvin)
Вроде как сама идея DevOps, это не делить разработку и администрирование, разве нет?
Pasha Chalyk
так а за какими ты пакетами следить собрался ?
новую версию ноды чуваки заюзали, а в базе у меня предыдущая
Pasha Chalyk
например
Bogdan (SirEdvin)
Значит чуваки должны тебе об этом сказать
Igor
Конечная цель - просто не менять конфигурацию демона? Хз, не тюнить систему невозможно по-моему
совсем не тюнить наверное нет, но что критичного в убунте надо будет сразу потюнить для докера? есть что-то из личного опыта, критичное? Прям вот что сразу надо пойти сделать?
Bogdan (SirEdvin)
Они же для разработки должны использовать твои же контейнеры, нет?
Etki
FROM mah-super-node:6
Igor
ну даже если какой то разраб заюзает, при сборке на CI должны тесты упасть например если что не так
Igor
с его кодом
Pasha Chalyk
Они же для разработки должны использовать твои же контейнеры, нет?
они на локалхосте у себя разрабатываются, образа я собираю для прекоммит тестирования
Etki
совсем не тюнить наверное нет, но что критичного в убунте надо будет сразу потюнить для докера? есть что-то из личного опыта, критичное? Прям вот что сразу надо пойти сделать?
Ну так-то с aufs много у кого проблемы были. Я в проде этим не занимаюсь, поэтому только от третьих лиц слышал, что overlay2 пока самая бещгеморройная
Pasha Chalyk
докерфайлы тоже ты за них пишешь?
нет, но у них в базе centos-7 с установкой ноды, нпм и всей требухой
Bogdan (SirEdvin)
они на локалхосте у себя разрабатываются, образа я собираю для прекоммит тестирования
Если они разрабатывают каждый на своей конфигурации системы, то у тебя в любом случае будут проблемы. Очень нужно их пересадить на дев докер образы
Pasha Chalyk
им пофиг сколько это собирается
Bogdan (SirEdvin)
Которые будут поддерживатся тобой
Bogdan (SirEdvin)
И ты уже напишешь все правильно, сначала установка библитек, которые очень редко будут менятся.
Bogdan (SirEdvin)
Потом те, что меняются иногда