@docker_ru

Страница 828 из 1375
Jack
17.10.2018
22:03:58
у нас дев среда

надо чтобы код динамично менялся в контейнере

а нод_модули не пробрасывались в контейнер с папки с приложением

Google
Jack
17.10.2018
22:05:51
и тут появляется строка /code/node_modules

зачем так ?
ибо платформы разные

Andrey
17.10.2018
22:06:17
а нод_модули не пробрасывались в контейнер с папки с приложением
оно не заведется так у тебя. node_modules же может не содержать нужных тебе библиотек

Jack
17.10.2018
22:06:19
и бинарники с макоси не работают в контейнере

Vasiliy
17.10.2018
22:06:36
ибо платформы разные
дык ты в контейнере собираешь или локально или и так и так ? Опиши полностью кейс.

Jack
17.10.2018
22:06:44
я сейчас про локальную среду разработки

Andrey
17.10.2018
22:07:12
я сейчас про локальную среду разработки
аааа, емае, так это совсем другой разговор

Jack
17.10.2018
22:07:41
:)

Vasiliy
17.10.2018
22:08:00
то есть тебе node_modules пробрасывать в контейнер не нужно и поэтому ты на этом месте пустой volume создаёшь, который после остановки контейнера уничтожается. и в чём твой вопрос ?

Andrey
17.10.2018
22:08:16
тогда все просто, маунтишь любую директорию с хоста в контейнер и пусть она у тебя будет node_modules. А у nodejs есть ключик для разработки, когда nodejs сам видит изменения и подтягивает их.

Google
Vasiliy
17.10.2018
22:09:20
он не исчезает
в контейнере после этих команд что пишет ls -l node_modules ?

Jack
17.10.2018
22:09:31
ща, на линуху зайду, 3 мин)

Andrey
17.10.2018
22:10:36
и бинарники с макоси не работают в контейнере
смотри, все команды которые ты запускаешь внутри контейнера, они выполняются "под линуксом", не важно какая у тебя ось хоста. Так что тебе просто нужно сделать маунт для node_modules

Vasiliy
17.10.2018
22:10:59
то есть создаёшь пустой контейнер docker-compose ... volume: docker_node_modules:/code/node_modules —— Dockerfile from ubuntu WORKDIR /code ADD . .

Jack
17.10.2018
22:11:38
у меня дуал бут)

на винде торчал)

Vasiliy
17.10.2018
22:12:43
базовый образ сам выберешь - у тебя будет node наверное.

Vasiliy
17.10.2018
22:14:35
полностью dockerfile и docker-compose

Jack
17.10.2018
22:14:39
контейнер не запустился

ща пошаманю

чувак похерил код

)) уже не могу запустить))

Andrey
17.10.2018
22:16:23
?

Vasiliy
17.10.2018
22:16:30
идею понял ?

если тебе node_modules нужны не из системы, а из контейнера - монтируешь в volume если они тебе нахрен не нужны - не монтируешь и добавляешь в dockerignore ну и для статики - мультистейдж билды.

и вот вообще, javascript нужно занулить, ибо боль с ними)

Google
Andrey
17.10.2018
22:19:28
и вот вообще, javascript нужно занулить, ибо боль с ними)
ооода, особенно когда фронтенд разраб приходит к тебе и говорит что ты не можешь сервить его сраную статику с nginx и тебе обязательно нужно поднимать nodejs вебсервер.

Vasiliy
17.10.2018
22:20:33
как я понял, ему надо для локальной разработки кешировать node_modules на хосте, чтоб не качать все заново
наоборот - ему нужно кеширование запретить, т.к. локальные модули собраны для мака а в docker-образ нужно собирать для ubuntu решается файлом .dockerignore

Jack
17.10.2018
22:21:09
ну вот

Ivan
17.10.2018
22:21:09
express хреново отдает статику все же лучше использовать nginx

Jack
17.10.2018
22:21:18
пока так

Jack
17.10.2018
22:21:29


Andrey
17.10.2018
22:21:34
Jack
17.10.2018
22:21:44


docker-compose up —build

в терминале вижу папки с нод_модулс

ща удалю

Vasiliy
17.10.2018
22:22:51
может разделим build и up/run стадии ?

Jack
17.10.2018
22:22:51
папку

да

сек

Andrey
17.10.2018
22:23:10
замени - /app/node_modules на - node_modules:/app/node_modules и будет тебе кеш

Google
Vasiliy
17.10.2018
22:23:17
Andrey
17.10.2018
22:23:50
ээ, причины ?
например когда ты хочешь поисковикам отдавать не просто балванку, а рендерить для них то же самое, только на сервере ?

Jack
17.10.2018
22:23:54
зашел через ран

удалил папку одну

Andrey
17.10.2018
22:24:47
ты сейчас про статику или про server-side-rendering ?
ну я плавно перешел к server-side-rendering

Vasiliy
17.10.2018
22:25:18
удалил папку одну
зачем ? удали всё что сделал и сделай сначала без удаления. нужно понять - в чём у тебя проблема.

Jack
17.10.2018
22:25:45
папки на месте

Vasiliy
17.10.2018
22:25:56
ну я плавно перешел к server-side-rendering
и как это относится к теме разговора ? Может тоже полностью кейс напишешь, а то сейчас намешаем.

Jack
17.10.2018
22:26:19
с этого я понял, что там просто папки с билда

Vasiliy
17.10.2018
22:26:28
папки на месте
ls -l node_modules что говорит ?

Jack
17.10.2018
22:26:28
в итоге по хорошему, делаем имя)

Andrey
17.10.2018
22:26:38
и как это относится к теме разговора ? Может тоже полностью кейс напишешь, а то сейчас намешаем.
Да это я просто в тему того что не всегда можно выбросить nodejs и сервить статику.

Jack
17.10.2018
22:26:43
ls -l node_modules что говорит ?
папки есть, но в том числе и те, что я удалил

Vasiliy
17.10.2018
22:30:06
Andrey
17.10.2018
22:30:12
- node_modules:/app/node_modules сделал так, персистится
оно у тебя на хосте сохраняется, а бинари собраны "под линуксом". Это-то что ты хотел?)

Jack
17.10.2018
22:30:24
задача была понять как это работает)

Google
Andrey
17.10.2018
22:30:52
уничтожается. Почему)? зачем тогда механизм такой
ну докер для того и нужен чтобы у тебя всегда было чистое окружение. Ну образно говоря))

Vasiliy
17.10.2018
22:31:05
уничтожается. Почему)? зачем тогда механизм такой
откуда я знаю зачем это тебе. мне вот проще собрать с нуля и знать, что оно соберётся. а сколько оно там собирается на билд-сервере мне условно пофиг, если время разумное.

Andrey
17.10.2018
22:31:11
задача была понять как это работает)
ну как, просто папка с хоста прокидывается внутрь контейнера и ты можешь с ней работать внутри

Jack
17.10.2018
22:31:41
меня это смутило

Andrey
17.10.2018
22:32:35
да, но мы пробрасываем папку в проброшеную папку
неее, там схема такая: - %папка на хосте%:%папка внутри контейнера% - node_modules:/app/node_modules node_modules с хоста суется в /app/node_modules в контейнере

Vasiliy
17.10.2018
22:32:48
меня это смутило
почитай всё же про то как работают layer и volume докера в догонку про mount -o bind

наверно loop всё же

Jack
17.10.2018
22:33:38
ну вот, знания внутренностей юникс систем немного отсуствуют, ибо я обычный разработчик))

без девопса/сисадмина в компании)

Vasiliy
17.10.2018
22:34:05
ну так всё ж открыто в доке докера описано третий вопрос - зачем.

Jack
17.10.2018
22:35:26
зачеи что?

Vasiliy
17.10.2018
22:36:49
зачеи что?
зачем это знать. не нужно оно.

Jack
17.10.2018
22:45:53
Vasiliy
17.10.2018
22:49:45
ну ве знания важны)
а почитать для более глубокого понимания того что именно там под капотом ?(

Vasiliy
17.10.2018
22:50:59
вот хочу)
дык дока-то на сайте. там реально почти всё описано. остальное - в исходниках, но я там все пару ответов нашёл.

Vasiliy
17.10.2018
22:51:39
https://docs.docker.com/storage/volumes/ это?
а ты что именно узнать хочешь ?

Jack
17.10.2018
22:51:57
как оно там маунтится

хз, не уверен

Страница 828 из 1375