
yopp
12.07.2016
15:56:46
да, оно за cloudfront

Evgeny
12.07.2016
16:01:26
Да все пашет. Это Росчтототам наверное заблочил опять

ptchol
12.07.2016
18:17:28
Слушайте, у меня близкий вопрос. А как тогда ребилдить модули для того же нпма или пипа, когда поменялись packages.json /requirements.txt ?
Типа если он из кеша берет слой.

Google

Evgeny
12.07.2016
18:18:38
Если меняется пакадж - все следующие слои будет ребилдится
Если ты пакадж копируешь (а как еще ты узнаешь что ставить?)
А если зависимости глубже и у тебя нет завязки на версию в пакадже (как у нас) - перед пакаджем еще копировать разрезолвенные зависимости как отдельный файл

ptchol
12.07.2016
18:30:47
Чет не въехал
То есть он проверяет и мд5 файликов которые мы копируем внутрь имиджа ? И если он поменялся, ниже билд пойдет ?

Aleksandr
12.07.2016
18:36:29
Не проверяет
Просто COPY всегда новый образ собирает

ptchol
12.07.2016
18:39:32
Тогда это бестолковая херь
А есть вариант ребилдить пекежжи тока в случае изменения файла ?

Aleksandr
12.07.2016
18:40:50
хотя не, чот я запутался
это ADD вроде новый образ делает. и то не всегда :)

Evgeny
12.07.2016
18:42:35
Кто-то тут,мягко говоря,не прав
Да, сверяется хеш при каждом копировании

Google

Evgeny
12.07.2016
18:43:45
Не слушай диванных докероводов

Aleksandr
12.07.2016
18:50:51

ptchol
12.07.2016
18:55:37
Не слушай диванных докероводов
окай гай ) вобще этот вариант крутой. получается если они не менялись, мы в билд просто строчкой ниже положим новый код и все. нада замутить !

Evgeny
12.07.2016
18:55:52
бинго!
А еще если много разных имаджей с похожей базой - между ними можно расшарить общий кеш и еще уменьшить время билда ;)

yopp
12.07.2016
18:59:16
ах блядь
вот теперь я вспомнил почему у нас оно не работало :(
и почему не всё так просто с тем чтоб собрать все зависимости и почему мы их собираем предварительно :(
пичаль
кстати
если у нас COPY $PROJECT_NAME /var/www/$PROJECT_NAME
если $PROJECT_NAME поменялся, будет новый слой, так?
у нас просто 4 имаджа с такой конструкцией, в целом если для каждого имаджа такой слой будет кешироваться, то срать

Алексей
12.07.2016
19:05:43
кеш слоев все равно будет

yopp
12.07.2016
19:05:51
короче, перефразирую. У меня сейчас есть COPY $PROJECT_NAME /var/www/$PROJECT_NAME. Если я сделаю
COPY $PROJECT_NAME/foo /var/www/$PROJECT_NAME/foo
COPY $PROJECT_NAME /var/www/$PROJECT_NAME
оно первый copy закеширует?

Алексей
12.07.2016
19:06:00
пемеренные окружения они в твоем мире

yopp
12.07.2016
19:06:05
потому что /foo меняется очень редко

Алексей
12.07.2016
19:06:18
а докер их видит уже разрезолвинными

yopp
12.07.2016
19:06:32
ага, норм
а с двумя COPY?

Google

Алексей
12.07.2016
19:06:51
каждый копи - отдельный слой

yopp
12.07.2016
19:07:46
ну я вон там выше пример привёл
тоесть у меня папка с проектом в среднем весит 50 мегабайт
из них 45 мегабайт это зависимости
вынести их из папки это очень страшный геморой
вот если я сделаю сначала слой который копирует зависимости, а потом уже весь проект, я просто сделаю лишний слой с зависимостями?
в теории можно ещё один ADD добавить, в котором эту папочку выпиливать
и потом уже копировать

Алексей
12.07.2016
19:14:24
много статей было на предмет правильного с точки зрения потребления места инженеринга слоев.
и тут обсуждали тоже
почитай статьи вышедшие после 1,10

Vyacheslav
12.07.2016
19:19:07
Вначале нужно COPY Gemfile* и делать install, а затем делать COPY проекта. Тогда кэш с зависимостями будет нормально работать.

yopp
12.07.2016
19:23:43
по огромному ряду причин

Vyacheslav
12.07.2016
19:24:01
Например?

yopp
12.07.2016
19:24:57
во-первых, зависимости уже установлены, их поставили перед тем как гонять тесты
во-вторых, это значит тащить шаги которые сейчас выполняются и настраиваются в тимсити в имадж

Vyacheslav
12.07.2016
19:26:12
У вас разработчики при разработке всегда ставят гемы внутрь проекта?

Алексей
12.07.2016
19:27:52
@dd_bb видимо у вас есть логика того что должно быть в докерфайле и что дожно быть в слоях.

R-omk
12.07.2016
19:27:59
я свои имаджи вообще всегда в один слой сливаю

Google

yopp
12.07.2016
19:28:23

Vyacheslav
12.07.2016
19:28:24
И потом пересобираешь по часу?

Алексей
12.07.2016
19:28:24
и пока видится мне она похожа на "против течения"

yopp
12.07.2016
19:28:28

R-omk
12.07.2016
19:28:48
а вот итоговый слой получается очень компактным если все равильно седлать

Алексей
12.07.2016
19:29:45
ну да, если в одном слое поставить gcc потом собрать приложение потом удалить gcc
то на выходе скваша будет мало

Admin
ERROR: S client not available

R-omk
12.07.2016
19:30:02
но скваш собирает в один

Алексей
12.07.2016
19:30:15
да да я помню принцип

Vyacheslav
12.07.2016
19:30:26
вопроса не понял
Я имею ввиду как и почему там оказываются зависимости. Но видимо я не очень понял ваш workflow.

Алексей
12.07.2016
19:30:27
сквашь молодец в этом отношении

yopp
12.07.2016
19:31:03

R-omk
12.07.2016
19:31:04
а том то иприкол,Ю я могу в слох засунуть гектар исходников, собрать ихзних все что нужно сделать сто раз copy и потом удалить лишнее

Vyacheslav
12.07.2016
19:31:07

yopp
12.07.2016
19:31:26
есть один проект который core, который используется в бандлере в некоторых других

R-omk
12.07.2016
19:31:27
squash
https://github.com/goldmann/docker-squash
https://github.com/goldmann/docker-squash/issues/96#issuecomment-222153029

Google

yopp
12.07.2016
19:31:59
проекты == продукты
для каждого продукта по успешной CI сборке делается имадж

Evgeny
12.07.2016
19:32:45
кароче каждый * как хочет

Vyacheslav
12.07.2016
19:32:59
как может

R-omk
12.07.2016
19:33:21
как умеет

Vyacheslav
12.07.2016
19:33:38
так может как умеет же

R-omk
12.07.2016
19:33:53
так нет же, может правильно , но не умеет)

Semyon
13.07.2016
06:18:53
Поцоны, а у вас dockerhub сегодня нормально работает?
У меня чот таймауты валятся
видимо локальная проблема, отбой

Marina
13.07.2016
12:59:20
кто-нибудь сталкивался с проблемой, что когда настраиваешь devicemapper с thin pool, то перестает работать таб в командах докера?

Алексей
13.07.2016
13:00:16
ох
а это точно связано между собой ?

Marina
13.07.2016
13:01:16
я по этому туториалу настраивала https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/

Ivan
13.07.2016
13:16:28

R-omk
13.07.2016
13:17:22
devicemapper с thin pool вообще идея так себе его использовать
это же самый последний вариант

Marina
13.07.2016
13:20:48
? мне показалось, что нормально должно получиться.

R-omk
13.07.2016
13:33:47
Overlay лучше всего
А вот если для volume то может и норм

corpix
13.07.2016
13:36:02
А сеть случайно не ipv6 only? А то гитхаб не умеет в ipv6 :(