@ru_docker

Страница 104 из 610
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
да

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 и потом это всё удалять

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
Отнюдь. Можно просто шарить временную папку
Не пойму. К примеру я собрал docker образ, там внутри у меня скачивались зависимости для компиляции ассетов, скомпилил ассеты. Дальше что?

все это внутри контейнера скомпилил конечно же.

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
save дольше на склейке слоев
это основная причина, почему не save, да?

то есть в случае с 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
Да я бы с радостью, если бы разработчик не сидел на винде

в смысле он её любит горнею любовию

Страница 104 из 610