
Jack
17.10.2018
22:03:58
у нас дев среда
надо чтобы код динамично менялся в контейнере
а нод_модули не пробрасывались в контейнер с папки с приложением

Google

Vasiliy
17.10.2018
22:05:15

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

Andrey
17.10.2018
22:06:17

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

Jack
17.10.2018
22:08:46

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 наверное.

Ivan
17.10.2018
22:13:49

Jack
17.10.2018
22:14:09
хотя вру

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

Vasiliy
17.10.2018
22:20:33

Andrey
17.10.2018
22:21:02
вроде ?

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

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

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

Vasiliy
17.10.2018
22:21:25

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
зашел через ран
удалил папку одну

Vasiliy
17.10.2018
22:24:30

Andrey
17.10.2018
22:24:47

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

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

Vasiliy
17.10.2018
22:25:56

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

Vasiliy
17.10.2018
22:26:28

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

Andrey
17.10.2018
22:26:38

Jack
17.10.2018
22:26:43

Vasiliy
17.10.2018
22:28:51

Jack
17.10.2018
22:29:03
- node_modules:/app/node_modules сделал так, персистится

Vasiliy
17.10.2018
22:30:06

Andrey
17.10.2018
22:30:12

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

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

Jack
17.10.2018
22:50:00
*все

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

Jack
17.10.2018
22:51:25

Vasiliy
17.10.2018
22:51:39

Jack
17.10.2018
22:51:57
как оно там маунтится
хз, не уверен