Anonymous
тебя именно стадия build интересует ?
CI/CD какой ? Не dind ?
Johnny
Anonymous
у меня так.
Andrey
Andrey
да
а это варик тогда, спасибо!
Andrey
Anonymous
Ivan
docker идеально для nodejs, go... но java проекты хавают столько оперативки это ппц.
Andrey
Andrey
там в джаве кстати ключик появился чтобы она брала настройки памяти из cgroups. Хз на сколько оно рабочее, но выглядит удобно
Ivan
и будет java cpu мучать и запускать garbage collector cleanup каждую наносекунду
Andrey
Ivan
такое приложение монолит java, 100 потоков, и жрет память...
Andrey
Anonymous
Ivan
xmx - The flag Xmx specifies the maximum memory allocation pool for a Java virtual machine (JVM), while Xms specifies the initial memory allocation pool.
Anonymous
Ivan
найди плиз может поможет
Ivan
смотрел профайлером там гиг уходит на простые типы типа: int, int[], byte, byte[]....
Anonymous
скрин из top давай посмотрим.
лучше с хоста
Ivan
это на работе, дома нету доступа
Andrey
Anonymous
память бывает 3х типов:
virtual
resident
shared
ну это то, что в top отражается, не будем к словам придираться.
ну будет понимание проблемы - хайлайть.
Anonymous
может лучше с утечками разобраться ?
ну или рестартовать его раз в N-времени ?
Andrey
так это снова не про докер 😄
Ivan
Andrey
а слово маштабировать? 😘
Ну опять же. Наклепай 10 процессов джавы да живи с ними 😄
Я не понимаю, какой у тебя вопрос. Ну течет она, она везде течь будет если приложение такое. Докер тебе только может дать возможность перезапускать приложение при превышении лимитов. Но имхо это подорожник
Anonymous
а каких именно ресурсов вам не хватает ?
В общем, Иван, определись - что тебе именно нужно.
Масштабировать тебе скорее всего не нужно.
Если нужно - ты должен понять - почему именно нужно и что именно ты должен масштабировать.
Пока у тебя облако в штанах.
Anonymous
то, что ты тут написал https://t.me/docker_ru/82680
это хрень именно то самое облако - у тебя утечки памяти и это причина масштабироваться ?
ну тогда иди в кубернетес.
Но я бы сначала с утечками разобрался.
Варианты решения выше описаны
Brommie
вернемся к нод модулям, как докер монтирует в смонтированное?))
Anonymous
Andrey
И вот Vasiliy скинул прям готовую статью по этому поводу:
https://medium.com/devschacht/praveen-durairaj-an-exhaustive-guide-to-writing-dockerfiles-for-node-js-web-apps-7b033bcc0b4f
Konstantin
Ivan
volume:
.:/app
x.conf:/app/x.conf
/app/node_modules
db-data:/db/data
db-data:
Andrey
Anonymous
вопрос - можно ли volume подцепить на ранней стадии и воспользоваться этим ..
Anonymous
Andrey
вот точно ?
стопудова
https://github.com/moby/moby/issues/14080
Andrey
Вот это очевиднее:
https://github.com/moby/moby/issues/17745
Anonymous
docker это про отдельный сервер.
если тебе нужно несколько серверов выбери kubernetes/mesos/swarm/rancher.
Brommie
Brommie
у нас дев среда
Brommie
надо чтобы код динамично менялся в контейнере
Brommie
а нод_модули не пробрасывались в контейнер с папки с приложением
Anonymous
Anonymous
Brommie
и тут появляется строка
/code/node_modules
Brommie
и бинарники с макоси не работают в контейнере
Anonymous
ибо платформы разные
дык ты в контейнере собираешь или локально
или и так и так ?
Опиши полностью кейс.
Brommie
Brommie
я сейчас про локальную среду разработки
Brommie
:)
Anonymous
то есть тебе node_modules пробрасывать в контейнер не нужно и поэтому ты на этом месте пустой volume создаёшь, который после остановки контейнера уничтожается.
и в чём твой вопрос ?
Andrey
тогда все просто, маунтишь любую директорию с хоста в контейнер и пусть она у тебя будет node_modules.
А у nodejs есть ключик для разработки, когда nodejs сам видит изменения и подтягивает их.
Brommie
Anonymous
он не исчезает
в контейнере после этих команд что пишет ls -l node_modules ?
Brommie
ща, на линуху зайду, 3 мин)
Andrey
и бинарники с макоси не работают в контейнере
смотри, все команды которые ты запускаешь внутри контейнера, они выполняются "под линуксом", не важно какая у тебя ось хоста. Так что тебе просто нужно сделать маунт для node_modules
Anonymous
то есть создаёшь пустой контейнер
docker-compose
...
volume:
docker_node_modules:/code/node_modules
——
Dockerfile
from ubuntu
WORKDIR /code
ADD . .
Brommie
у меня дуал бут)
Brommie
на винде торчал)
Anonymous
базовый образ сам выберешь - у тебя будет node наверное.
Ivan
Brommie
Brommie
хотя вру
Anonymous
полностью dockerfile и docker-compose
Brommie
контейнер не запустился
Brommie
ща пошаманю
Brommie
чувак похерил код
Brommie
)) уже не могу запустить))