
Dan
16.08.2016
12:08:23
ок, вообще отлично

Tenni
16.08.2016
12:09:04
ссд мрут от записи
читать там можно много

Andrey
16.08.2016
12:11:47
ой, да ладно, нынче ssd мрут, потому что мрут, про запись сказки старых веков (ну по крайней мере в бытовой сфере)

Google

Tenni
16.08.2016
12:12:21
у меня контролеры дохли чаще
а так в год стабильно один подыхал, но там записи много постоянной

Dan
16.08.2016
12:16:02
то есть вы советуете не паниковать раньше времени, так как ссд вряд ли выйдет из строя за несколько недель обычных моментов разработки?
и возможно я зря затеял переход с ссд симлинком )

Tenni
16.08.2016
12:16:17
да

Vyacheslav
16.08.2016
12:16:38

Tenni
16.08.2016
12:16:56
у меня год крутились хайлоад проекты, только потом от ресурса подыхали, а контролер - рандом чистый
и вообще 2 в ридонли, остальные просто умирали и по гарантии деньги возвращали

Alex
16.08.2016
12:17:52

Tenni
16.08.2016
12:18:02
сейчас интелы вообще бессмертные, это с ocz было

Alex
16.08.2016
12:18:14
Но сразу говорю что в продакшене не настраивал. Там отличии в том что надо оркестрировать контейнеры.

Vyacheslav
16.08.2016
12:19:06
А процесс у вас какой? Девелоперы просто пушат код, и в CI уже собирается образ для теста/прода?

Dan
16.08.2016
12:20:23
оркестровать как раз не проблема

Google

Dan
16.08.2016
12:20:32
главное понять суть как что чего, и последовательность )

Alex
16.08.2016
12:20:47
оркестровать как раз не проблема
Проблема, если ты этого еще не изучил ) я к тому что реального опыта по этому у меня нет. Но в девелопменте под докером удовольствие писать.
Единственное что, одноразовые команды долго запускаются. Но если надо часто их запускать то это обходится.

Alexander
16.08.2016
13:11:03
какой наиболее правильный способ сделать export/import из одного образа в другой? ( один из вариантов https://github.com/grammarly/rocker#exportimport )
энибади?

Alex
16.08.2016
13:18:35
капипаст ??

Dan
16.08.2016
13:18:57
надо чтобы что? оба образа работают и должны видеть файлы друг друга?
хотя нет, я понял
да, пожалуй этот вариант очень даже интересный

Alexander
16.08.2016
13:20:18
ненене, надо чтобы в первом образе что-то сделалось (сборка бинарника или просто папочку с файлами-картинками собрали) и потом этот бинарник или эту папочку импортировали бы в другой образ

Evgeny
16.08.2016
13:22:31
я делаю ран, из него cp и потом рм

Alex
16.08.2016
13:23:10
допустим скомплиировать софтинку и засунуть скомпиленый бинарь в другой контейнер.

Alexander
16.08.2016
13:24:30
конкретный пример (раньше уже задавал такой вопрос, но конкретных ответов не получил), допустим, у меня Django и мне нужно сделать два образа - uwsgi с кодом и nginx со статикой, статику я собираю из контейнера с кодом командой python /usr/src/app/manage.py collectstatic
ну и я хочу эту папку с картинками перекинуть из образа с кодом в образ с nginx
ну и я не хотел бы в образе nginx ставить всё то же самое, что и в контейнер с кодом только ради запуска одной команды collectstatic и потом это всё удалять

Алексей
16.08.2016
13:26:24

Alexander
16.08.2016
13:27:16
раскрой плиз вариант решения
тут ведь речь о докерфайлах

Google

Alexander
16.08.2016
13:28:30
то есть я делаю docker build ... и потом у меня образ, я вот из него хочу вытащить папочку и вставить в другой образ, в рамках его docker build

Evgeny
16.08.2016
13:28:54
volume_from
Зачем держать хлам в системе? Лучше просто копировать в билд контекст, зачем в регистри это тащить?

Alex
16.08.2016
13:29:18

Evgeny
16.08.2016
13:29:47

Alex
16.08.2016
13:30:19
все это внутри контейнера скомпилил конечно же.

Evgeny
16.08.2016
13:30:38

Alex
16.08.2016
13:31:05
?
Мне нравится подход, на самом деле.

Evgeny
16.08.2016
13:31:52
если не хочется заморачиваться с раном и удалением, можно просто сделать внутри контейнера который запущен с —rm - cat папки а снаружи ловить.

Alexander
16.08.2016
13:35:40
Я это делаю через
билд
ран цп рм
билд
можно на простом примере?
допустим, у меня есть два докерфайла, и они билдятся как-то так
docker build -f uwsgi/Dockerfile -t user/repository:project1-uwsgi-latest
docker build -f nginx/Dockerfile -t user/repository:project1-nginx-latest
допустим, первый сбилдился ок, как теперь мне оттуда лучше всего вытащить папку, скажем, /usr/src/app/static и поставить в /usr/src/app/static в процессе сборки образа из второго докерфайла?
при этом я не хочу это делать как-то на сервере через волаймы, я хочу на рабочем ноуте

Alexander
16.08.2016
13:37:05
(я понимаю, что я могу сделать общий волайм на сервере, дать доступ обоим контейнерам к нему и туда скопировать)
но этот вариант плох хотя бы потому что если вдруг из 1 образа будут запущены сразу несколько разных контейнеров - они все начнут сразу копировать туда

Evgeny
16.08.2016
13:37:40
NAME="bla2remove$RANDOM"
docker run —name=$NAME —entrypoint env user/repository:project1-uwsgi-latest
docker cp $NAME:/usr/src/app/static ./
docker rm -fv $NAME
можно без энтрипоинта, но я не помню на память ситнаксис креэйта

Alexander
16.08.2016
13:39:25
ага, то есть ты после docker build делаешь docker run , то есть стартуешь контейнер и оттуда уже копируешь?
просто вот есть вариант через docker save
то есть он сделает tar из образа и уже из тара можно было бы скопировать

Evgeny
16.08.2016
13:41:37
Ну тоже можно

Google

Alexander
16.08.2016
13:42:15
вот я и думал про все эти разные варианты - какой лучше в итоге?
быстрее/стабильнее/меньше нагрузки
думаю, ещё есть варианты, эти просто лежат на поверхности

Evgeny
16.08.2016
13:44:27
самый просто вариант - create + cp

Alexander
16.08.2016
13:48:12
а если учесть, что всё это будет делаться автоматизированно, какой вариант даст меньше сбоев?
я просто думал, что run потенциально даст больше проблем, чем save

Evgeny
16.08.2016
13:48:47
create + cp. Я ж тоже не вручную это делаю :)
save дольше на склейке слоев

Alexander
16.08.2016
13:50:01
но тут по идее надо какую-то проверку делать, а что если он не стартанёт?

Admin
ERROR: S client not available

Alexander
16.08.2016
13:50:03
или не надо?

Vsevolod
16.08.2016
13:50:13
ну я в той группе уже ответил что с этими другими вариантами вы будете инвалидейтить кеш
скорее всего

Evgeny
16.08.2016
13:50:23
Счегойта это вдруг?

Vsevolod
16.08.2016
13:50:29
а счегойта нет?
если ты после сборки делаешь cp в фс, то это новый файл

Evgeny
16.08.2016
13:50:42
Только когда будет меняться контент. А если он поменялся - надо пересобирать по любому

Vsevolod
16.08.2016
13:51:27
в смысле только когда будет менятся? Он всегда будет копировать :)
и будет меняться mtime

Google

Evgeny
16.08.2016
13:51:35
и?
Этот баг уже давно поправлен

Vsevolod
16.08.2016
13:59:13
какой баг? ты ранаешь контейнер, из него копируешь файл (вот в этот момент у тебя меняется mtime поидее) и потом запускаешь следующий билд

Evgeny
16.08.2016
13:59:30
ну? мтайм не влияет на хеш контента
а баг был в том что раньше влиял

Vsevolod
16.08.2016
14:03:02
в любом случае ты заинвалидейтишь старый кеш. Типа собрал что-то новое, решил откатить — пересобирай. Но это не так критично в принципе

Evgeny
16.08.2016
14:04:16
Старый кеш останется пока ты его явно не почисть

Vsevolod
16.08.2016
14:05:10
хм, интересно, надо проверить

Alexander
16.08.2016
14:16:37
то есть в случае с Rkt (где слоёв нет) было бы лучше вытаскивать из .tar'а?

Evgeny
16.08.2016
14:17:28
Для меня - да. Я хотел сократить время билде с часов

Andrey
16.08.2016
14:43:23
кстати, а никто с несколькими бриджами и IPv6 не развлекался, а то как то странно, создаваемый автоматом bridge0 вроде работает при дроблении сети /64 на /80 а сделанный с такими же параметрами в ручную бридж нифига не может IPv6 отроутить, а разница только вроде в опции "com.docker.network.bridge.default_bridge": "true", чего она такого магического на хосте дёргает?

Semyon
16.08.2016
15:09:09
День любви к Windows прямо
нашёл железную тачку чтобы воспроизвести проблемный сетап девелопера
поставил туда toolbox
и при запуске
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component MachineWrap, interface IMachine
причем ничто из предложенных воркэраундов не помогает
простите, надо было воговориться

Evgeny
16.08.2016
15:24:04
Рекомендованный воркэраунд http://mirror.yandex.ru/fedora/russianfedora/releases/RFRemix/24/Live/x86_64/

Semyon
16.08.2016
15:25:46
Да я бы с радостью, если бы разработчик не сидел на винде
в смысле он её любит горнею любовию