
Igor
17.04.2017
12:09:15
https://hub.docker.com/_/registry/ вот эту штуку юзаем для хранения образов, к ней еще ui есть

Alexey
17.04.2017
12:09:48
Так а как я на виндовой машине соберу новый образ и скажу докеру стартануть его?


Igor
17.04.2017
12:15:57
в Digital Ocean ктонибудь докер хостит? У них есть готовый образы с докером но они под убунтой, убунта для докера это вообще норм? Просто у меня есть пару хостов с centos, там основной гемор для докера, что дефолтный фс бэкэнд для докера это луп девайсы, они медленные по понятным причинам, поэтому у меня под centos сделаны lvm разделы и юзается уже lvm как бэкэнд фс для докера. В DO несколько геморно получить тачку с lvm разделом, или может я просто слишком нуб, но как я понял если дроплет создал то уже ни как его основной раздел в lvm не конвернешь, только докупать как доп услугу еще раздел и его под lvm делать.
А вот в убунте юзается aufs как бэкэнд докера, по дефолту, и там вроде как доп действий ни каких совершать не надо, следовательно на сколько это адекватное решение взять в DO готовый дроплет с убунутой+докер, вместо центос ?
Кто не понял про что я говорю, я вот про это https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/ и продакшен моде. Для кого то может быть открытием что нельзя докер юзать в том виде в котором он по дефолту ставится в Centos


Fike
17.04.2017
12:23:05

Google


Fike
17.04.2017
12:23:36
в Digital Ocean ктонибудь докер хостит? У них есть готовый образы с докером но они под убунтой, убунта для докера это вообще норм? Просто у меня есть пару хостов с centos, там основной гемор для докера, что дефолтный фс бэкэнд для докера это луп девайсы, они медленные по понятным причинам, поэтому у меня под centos сделаны lvm разделы и юзается уже lvm как бэкэнд фс для докера. В DO несколько геморно получить тачку с lvm разделом, или может я просто слишком нуб, но как я понял если дроплет создал то уже ни как его основной раздел в lvm не конвернешь, только докупать как доп услугу еще раздел и его под lvm делать.
А вот в убунте юзается aufs как бэкэнд докера, по дефолту, и там вроде как доп действий ни каких совершать не надо, следовательно на сколько это адекватное решение взять в DO готовый дроплет с убунутой+докер, вместо центос ?
Кто не понял про что я говорю, я вот про это https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/ и продакшен моде. Для кого то может быть открытием что нельзя докер юзать в том виде в котором он по дефолту ставится в Centos
дефайн норм


Igor
17.04.2017
12:26:18
дефайн?

Pasha
17.04.2017
12:27:19

Igor
17.04.2017
12:27:58
если ты будешь собирать все на одной тачке, все кэши будут в одном месте и все будет быстро собираться

Pasha
17.04.2017
12:28:32
через неделю сборок образов ты упрешься диск капасити
если не будешь удалять старые кэши
слоев

Igor
17.04.2017
12:29:00
чувак да у меня уже год собираются 4 проекта на 100гб харде
просто удаляй старый кал
и не куда не упрешься
тебе же все кэши не нужны, а только кэш последнего билда

Pasha
17.04.2017
12:30:03
да, вот как ты понимаешь какие слои старые и какие можно удалять?

Bogdan (SirEdvin)
17.04.2017
12:30:20
Зависит от того, как ты огранизовал свои слои

Google

Bogdan (SirEdvin)
17.04.2017
12:30:38
А так ты просто удаляешь старую версию образа и докер сам почистит слои

Igor
17.04.2017
12:30:47
кэш это не слои, кэш отдельно хранится и сам чистится

Bogdan (SirEdvin)
17.04.2017
12:30:49
Если они никому не нужны
Разве кеш это не слои? Вроде как слои же
docker images -a выведет кучу "кеш" слоев.
*образов

Pasha
17.04.2017
12:33:50
у меня в день 30 пулл реквестов, на каждый из них прилетает сборка образа, образ проекта занимает 2гб, т.е. я за день сожру 60гб
потому как каждый из 30 образов тэгается коммит хэшом

Andrey
17.04.2017
12:35:17
Ну если правильно слои разбить - то нет
Подтянется только дифф

Pasha
17.04.2017
12:35:47
что значит правильно разбить слои?
add/copy в конец докерфайла?

Andrey
17.04.2017
12:36:16
В том числе
У меня настроен гитлаб ci с артефактами сборки живущими ограниченное время

Pasha
17.04.2017
12:37:16
вооооот

Fike
17.04.2017
12:37:17

Pasha
17.04.2017
12:37:41

Andrey
17.04.2017
12:37:41
Между степами оно само все делает

Fike
17.04.2017
12:38:09

Igor
17.04.2017
12:38:35
что значит правильно разбить слои?
вопрос в том что у тебя меняется в образе между сборками. У меня образы весят по 600-700 метров, но диф там всего 30-40 мегабайт, поэтому если код не менялся, то новый кэш не создается, или создается только то что занимает код

Google

Igor
17.04.2017
12:39:13
define
не, я не понял что такое define, о чем речь ? )

Fike
17.04.2017
12:40:46
определи, что значит "норм для докера"

Pasha
17.04.2017
12:41:14
а делаете ли вы свои базовые образа?

Igor
17.04.2017
12:41:49

Pasha
17.04.2017
12:42:00
а как потом саппортите их?
если там зависимости например обновились

Igor
17.04.2017
12:44:58
если там зависимости например обновились
Dockerfile хранится в github, например я знаю что в моем базовом образе для node надо обновить ноду, я вытягиваю репу, затягиваю к примеру обновленный образ node локально, потом делаю ребилд образа и пушу в приватный хаб, а дальше иду на CI и подтягиваю новую версию, и CI уже собирает с новой версией базового образа. Ну то есть ручками, но это не сильно хитро, и вообще редко нужно
а вот с CI уже по хостам автоматом при билде расползется

Pasha
17.04.2017
12:45:53
ну в целом понятно, ты про то что базовый надо обновить когда узнаешь?
от разрабов?
когда чтото упало?

Bogdan (SirEdvin)
17.04.2017
12:47:49

Igor
17.04.2017
12:47:59
определи, что значит "норм для докера"
норм для докера, в том плане что юзают ли докер в убунте для продакшена? нет ли каких граблей? Вот для Centos я описал грабли, в дефолтной конфигурации у меня система загнулась изза локов, пришлось настраивать lvm. Я ведь ничего такого ужасного не делал, просто одновременно врубил деплой трех или четырех 700 метровых образов, то тупо на docker pull + docker run система встала изза луп девайсов

Pasha
17.04.2017
12:48:14

Bogdan (SirEdvin)
17.04.2017
12:49:09
ну мы же не в древних временах
Инструменты все те же. Иногда раз в недельку смотришь на релизы пакетов.
Если тебе лень, то просто не обновляешь) Самые громкие уязвимости и так до тебя дойдут.

Fike
17.04.2017
12:49:12

Bogdan (SirEdvin)
17.04.2017
12:49:43
Можно еще использовать всякие штуки для мониторинга уязвимостей

Pasha
17.04.2017
12:50:00

Bogdan (SirEdvin)
17.04.2017
12:50:17

Google

Igor
17.04.2017
12:50:18
так а за какими ты пакетами следить собрался ?

Fike
17.04.2017
12:50:34
Конечная цель - просто не менять конфигурацию демона? Хз, не тюнить систему невозможно по-моему

Bogdan (SirEdvin)
17.04.2017
12:50:49
Разрабам нужны будут новые либы - они к тебе.
Нашли громкую уязвимость - они к тебе,

Igor
17.04.2017
12:50:51
на CI в крон поставь docker pull всего что нужно

Bogdan (SirEdvin)
17.04.2017
12:51:02
Нужен новый функционал старых либ - они к тебе.
Вроде как сама идея DevOps, это не делить разработку и администрирование, разве нет?

Pasha
17.04.2017
12:51:53
например

Bogdan (SirEdvin)
17.04.2017
12:52:19
Значит чуваки должны тебе об этом сказать

Igor
17.04.2017
12:52:21

Admin
ERROR: S client not available

Bogdan (SirEdvin)
17.04.2017
12:52:28
Они же для разработки должны использовать твои же контейнеры, нет?

Fike
17.04.2017
12:52:33

Igor
17.04.2017
12:52:39

Fike
17.04.2017
12:52:52
FROM mah-super-node:6

Igor
17.04.2017
12:53:11
ну даже если какой то разраб заюзает, при сборке на CI должны тесты упасть например если что не так
с его кодом

Pasha
17.04.2017
12:53:33

Fike
17.04.2017
12:53:40

Михаил
17.04.2017
12:53:53

Google

Anton
17.04.2017
12:53:56

Pasha
17.04.2017
12:54:42

Bogdan (SirEdvin)
17.04.2017
12:54:50

Pasha
17.04.2017
12:54:51
им пофиг сколько это собирается

Bogdan (SirEdvin)
17.04.2017
12:55:01
Которые будут поддерживатся тобой
И ты уже напишешь все правильно, сначала установка библитек, которые очень редко будут менятся.
Потом те, что меняются иногда

Pasha
17.04.2017
12:55:40

Bogdan (SirEdvin)
17.04.2017
12:55:54
Хм ... а что вы там используете для разработки?
Вроде всех можно пересадить на разработку на удаленных машинах.
А там два-три дня и все научится делать docker-compose pull, docker-compose up -d

Pasha
17.04.2017
12:56:49
ну тут палка о двух концах

Anton
17.04.2017
12:57:08

Pasha
17.04.2017
12:57:19
вооот
Антон дело говорит

Bogdan (SirEdvin)
17.04.2017
12:57:28
Я имел ввиду удаленный дебаг
Просто в питоне это работает так.
IDE конектится по ssh в докер машинку, и запускает все там
Докер запущен, разумеется, на машине разраба

Konstantin
17.04.2017
12:58:28
Когда у вас десятки компонетов не всегда это все удобно держать на локальнйо машине

Pasha
17.04.2017
12:58:47
а есть жаваскрипт например, который ходить в контейнер и говорить там docker exec собери мой смузи жс западло
проще его на локалхосте собирать и проверять и девелопить