Andrey
😄
Anonymous
идею понял ?
Anonymous
если тебе node_modules нужны не из системы, а из контейнера - монтируешь в volume если они тебе нахрен не нужны - не монтируешь и добавляешь в dockerignore ну и для статики - мультистейдж билды.
Anonymous
и вот вообще, javascript нужно занулить, ибо боль с ними)
Andrey
и вот вообще, javascript нужно занулить, ибо боль с ними)
ооода, особенно когда фронтенд разраб приходит к тебе и говорит что ты не можешь сервить его сраную статику с nginx и тебе обязательно нужно поднимать nodejs вебсервер.
Anonymous
как я понял, ему надо для локальной разработки кешировать node_modules на хосте, чтоб не качать все заново
наоборот - ему нужно кеширование запретить, т.к. локальные модули собраны для мака а в docker-образ нужно собирать для ubuntu решается файлом .dockerignore
Andrey
вроде 😄
Brommie
ну вот
Ivan
express хреново отдает статику все же лучше использовать nginx
Brommie
пока так
Brommie
Brommie
Brommie
docker-compose up —build
Brommie
в терминале вижу папки с нод_модулс
Brommie
ща удалю
Anonymous
может разделим build и up/run стадии ?
Brommie
папку
Brommie
да
Brommie
сек
Andrey
замени - /app/node_modules на - node_modules:/app/node_modules и будет тебе кеш
Andrey
ээ, причины ?
например когда ты хочешь поисковикам отдавать не просто балванку, а рендерить для них то же самое, только на сервере 😄
Brommie
зашел через ран
Brommie
удалил папку одну
Andrey
ты сейчас про статику или про server-side-rendering ?
ну я плавно перешел к server-side-rendering
Anonymous
удалил папку одну
зачем ? удали всё что сделал и сделай сначала без удаления. нужно понять - в чём у тебя проблема.
Brommie
папки на месте
Anonymous
ну я плавно перешел к server-side-rendering
и как это относится к теме разговора ? Может тоже полностью кейс напишешь, а то сейчас намешаем.
Brommie
с этого я понял, что там просто папки с билда
Anonymous
папки на месте
ls -l node_modules что говорит ?
Brommie
в итоге по хорошему, делаем имя)
Andrey
и как это относится к теме разговора ? Может тоже полностью кейс напишешь, а то сейчас намешаем.
Да это я просто в тему того что не всегда можно выбросить nodejs и сервить статику.
Brommie
ls -l node_modules что говорит ?
папки есть, но в том числе и те, что я удалил
Brommie
- node_modules:/app/node_modules сделал так, персистится
Andrey
- node_modules:/app/node_modules сделал так, персистится
оно у тебя на хосте сохраняется, а бинари собраны "под линуксом". Это-то что ты хотел?)
Brommie
задача была понять как это работает)
Andrey
уничтожается. Почему)? зачем тогда механизм такой
ну докер для того и нужен чтобы у тебя всегда было чистое окружение. Ну образно говоря))
Anonymous
уничтожается. Почему)? зачем тогда механизм такой
откуда я знаю зачем это тебе. мне вот проще собрать с нуля и знать, что оно соберётся. а сколько оно там собирается на билд-сервере мне условно пофиг, если время разумное.
Andrey
задача была понять как это работает)
ну как, просто папка с хоста прокидывается внутрь контейнера и ты можешь с ней работать внутри
Brommie
меня это смутило
Andrey
да, но мы пробрасываем папку в проброшеную папку
неее, там схема такая: - %папка на хосте%:%папка внутри контейнера% - node_modules:/app/node_modules node_modules с хоста суется в /app/node_modules в контейнере
Anonymous
меня это смутило
почитай всё же про то как работают layer и volume докера в догонку про mount -o bind
Anonymous
наверно loop всё же
Brommie
ну вот, знания внутренностей юникс систем немного отсуствуют, ибо я обычный разработчик))
Brommie
без девопса/сисадмина в компании)
Anonymous
ну так всё ж открыто в доке докера описано третий вопрос - зачем.
Brommie
зачеи что?
Anonymous
зачеи что?
зачем это знать. не нужно оно.
Brommie
Anonymous
ну ве знания важны)
а почитать для более глубокого понимания того что именно там под капотом ?(
Brommie
*все
Anonymous
вот хочу)
дык дока-то на сайте. там реально почти всё описано. остальное - в исходниках, но я там все пару ответов нашёл.
Anonymous
https://docs.docker.com/storage/volumes/ это?
а ты что именно узнать хочешь ?
Brommie
как оно там маунтится
Brommie
хз, не уверен
Brommie
всё подряд)
Anonymous
front или internals ? оно в разных разделах просто.
Anonymous
Можно ли как-то управлять контейнерами из контейнера?
Anonymous
Максимально безболезненно
bazzilic
Ну теоретически можно клиентом докера из контейнера подключиться к докер-демону на хосте
magnoom
https://github.com/v2tec/watchtower а этот контейнер не этим ли занимается?
magnoom
-v /var/run/docker.sock:/var/run/docker.sock
Dm
Всем привет. Ни у кого нет опыта заворачивания ffmpeg в контейнер? Как завернуть понимаю, но не понимаю как ему задаи на конвертацию отдавать. Единственная мысль - написать баш-скрипт и в крон засунуть, но мне она не нравится, так как у меня rabbit будет таски на конвертацию делать. И вот я мучаюсь в догадках как это сделать.
bazzilic
через cmd, запускаешь контейнер с нужными аргументами и подключаешь волюм с файлом
bazzilic
не надо держать контейнер поднятым, поднимай на каждый таск
Dm
Пока склоняюсь к мысле засунуть туда ноду и пусть она из ребита читает и запускает конвертацию
Myron
Привет всем, есть у кого нормальный сэмпл докерфайла для php-laravel проекта? А то немогу нормально его написать😅
Саша
еще раз попытаю счастья, потому как никто не откликнулся я могу как-то сделать это работать в сворме? docker-machine ssh vm1 "docker stack deploy -c compose.yml zoo" Creating service zoo_zoo2 failed to create service zoo_zoo2: Error response from daemon: rpc error: code = InvalidArgument desc = port '2181' is already in use by service 'zoo_zoo1' () as an ingress port exit status 1 сам компоуз: https://pastebin.com/KPpGrKWt docker-machine ssh vm1 "docker node ls" ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION blah1 * vm1 Ready Active Leader 18.06.1-ce blah2 vm2 Ready Active 18.06.1-ce blah3 vm3 Ready Active 18.06.1-ce blah4 vm4 Ready Active 18.06.1-ce