Anonymous
То сунь в java_opts -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -
Anonymous
И можешь ограничивать память как любой другой докер контеинер
Anton
1.8.0_141
Anonymous
Сойдёт
Anonymous
В env JAVA_OPTS засунь
Anonymous
Ток убедись что они будут браться
Anonymous
Я бы ограничил память непосредственно в настройках Jirы - в файле /opt/atlassian/jira/bin/setenv.sh добавить JVM_MAXIMUM_MEMORY=800M
Anonymous
Это xmx xms
Anonymous
Эт плохо работает в докере
Anonymous
Точнее не оптимально
Alex
Anonymous
Ну xmx никак не связан с ограничение докера
Alex
Anonymous
Ну как сказать
Anonymous
Эт ограничение именно джава хипа
Anonymous
А там ещё есть неитив память и все такое
Anonymous
Оом будешь ловить пока не подберёшь нормальный xmx
Anonymous
Anonymous
В общем даже в доке к openjdk советуют юзать те ключи что я дал
Yaroslav
Anonymous
И память ограничивать уже докер контеинеру
Anton
ок, спасибо... щас попробую) правда в java не силен)
ill-ya
Привет всем!
ill-ya
я поднимаю docker-compose up service1
Vladimir
никто не сталкивался? mounting shm tmpfs: invalid argument
ill-ya
или docker-compose up service2 но хочу чтобы с ним запускался сервис wrk(он задан) и запускал нагрузочное на этот сервис
ill-ya
Можно слинковать так? через compose
Vladimir
когда вводишь docker start <name>
Alex
ill-ya
Но тогда мне надо:
links
- service2
- service3
- service10000
ill-ya
и как определит wrk какой хост тестить
Anonymous
Вопрос - 2 разных контейнера в одной сети. Нужно ли делать expose tcp порта для того, чтобы они могли общатся друг с другом?
ill-ya
Как ты бы хитро это сделать
Alex
Alex
они будут видеть друг друга.
Alex
expose это вообще метаданные вроде, и не более того.
ill-ya
links:
- wrk
для каждого сервиса поднимет его для этого сервиса - но ничего не даст в информации для wrk
ill-ya
depends_on тоже не поможет
Alex
как это не даст
Alex
для wrk service будет конкретным хостом
ill-ya
А каким?
ill-ya
service1
Anonymous
они будут видеть друг друга.
не вариант, они не являются частью одного приложения. Это прокси + апач. Запускаются через разные docker-compose файлы. Можно конечно в один засунуть, но это будет не совсем корректно с архитектурной точки зрения
Alex
что значит каким?
Alex
ill-ya
круто бы было если бы для wrk:
service1 -> service когда запустил docker-compose up service1
service2 -> service когда запустил docker-compose up service2
ill-ya
тогда я могу задать command: wrk load --host=service (напрмиер)
Alex
Alex
ill-ya
потому что их много
ill-ya
и я хочу тетсить определенный по одному алгоритму
ill-ya
типа того
ill-ya
а можно задать глобал host?
Alex
типа того
для warmup'а я бы пошел в разрез с принятой практикой, и запустил в одном и том же контейнере два процесса
Alex
либо пиши wrk чтобы он сам периодически опрашивал докер на новые контейнеры
Anonymous
значит это часть одного приложения )
Ну может я неправильно понимаю идею. У меня есть контейнер с haproxy+letsencrpyt. Который проксирует траффик на определённые контейнеры. Т.е. мне нужно всё делать в одном композ-файле?
Alex
Alex
Alex
раз это разные приложения.
Anonymous
Alex
через хостовую сеть?
я, кстати не специалист, поэтому относись к моим советам со здоровым скептицизмом. Но если это разные приложения, то в один день может оказаться что они будут работать на разных континентах. Поэтому пускай посредством domain + tcp общаются.
Anonymous
У меня сейчас по сути проблема в том, что 2 контейнера в одной сети не видят друг друга по TCP портам. по именам я друг-друга пингую
Alex
хз, на мой взгляд у тебя это либо единое приложение либо нет.
Anonymous
Anonymous
Может так будет понятней, сейчас конфиг дам
Anonymous
Вот конфиг бекенда:
Anonymous
version: "2"
networks:
frontend:
external: true
services:
proxy-handler:
container_name: handler
networks:
- frontend
image: jaels/proxy-handler
ports:
- "41320:80"
Anonymous
у фронта та-же сеть. в композе. Как мне из фронта обратится к беку? по имени контейнера+порту ,верно? Т.е. handler:80
Alex
т.е ты хочешь сделать высокую связность двух разных приложений?
Alex
я вот вообще кстати не уверен что композ им одну и туже сетку выдал, даже если имя одинаковое. Но я докеромакака.
Anonymous
Alex
это значит что у тебя два разных приложения зачем то друг на дружку жестко завязаны.
Alex
значит композ какие то правила прописывает в iptables чтобы они не могли общаться.
Alex
ибо контейнеры должны быть изолированы.