Pavel
Есть готовый образ сервера для генерации графиков: https://hub.docker.com/r/onsdigital/highcharts-export-node/
Pavel
Я запускаю его в одном из контейнеров, объявляя его в файле docker-compose.yml
Pavel
И снаружи он прекрасно работает. Но мне нужно обратиться к нему через докер из другого контейнера. Как это сделать?
Petr
Pkill есть, pkill python3
Докер сокет добавь и обращайся по апи
Petr
Стучись в сокет
Petr
Не умеешь в сокет, делай экспоз порта через socat
Petr
Не умеешь в апи, стучись через голанг https://godoc.org/github.com/docker/docker/client
Petr
Можно docker binary поставить и управлять докером из контейнера
Petr
Но в прод я бы такое не пихал
Александр
Всем привет! Извините, нубский вопрос, вот я запускаю java приложение в контейнере, если в -it то все понятно, даже если оно не запустилось есть логи и т.п., но что делать если я запускаю его в -d mode а приложение упало? я не могу обратно подцепиться к остановленному контейнеру и сделать docker start чтобы попасть в /bin/sh тоже не могу (команда run у меня такая: sudo docker run --rm -i -t alpinejava:myfirstimage а в докерфайле у меня ENTRYPOINT /bin/sh) я понимаю, что можно прокинуть логи из контейнера наружу, но может быть есть более верный путь?
inqfen
Это если приложение логи в stdout/stderror шлет
inqfen
Если в файл - то сам себе сделал плохо
Andrey
Добрый вечер. Под какой осью лучше работать с докером - винда или линукс? мне для чат-бота под телегу, сваггер, дженкинс, браузеры, может еще selenium. Винда на виртуалке и что-то не получилось завести, а под убунтовской виртуалкой сразу заработал.
inqfen
Лучше работать с руками из того места, но под линуксом удобнее
Petr
Добрый вечер. Под какой осью лучше работать с докером - винда или линукс? мне для чат-бота под телегу, сваггер, дженкинс, браузеры, может еще selenium. Винда на виртуалке и что-то не получилось завести, а под убунтовской виртуалкой сразу заработал.
внутри винды ставишь виртуалку, в ней линукс, внутри ставишь докер, запускаешь докер образ плей он линукс, в нем пробрасываешь иксы, ставишь виндоусовский хром и переходишь по ссылке https://labs.play-with-docker.com/ Каждый день так делаю
Petr
можно по пути в ssh сходить, прокинуть локальный порт и подцепиться к внешнему впс по прокинутому порту, но это так мелочи, дело вкуса
Andrey
Спасибо, буду ставить
Александр
Если в файл - то сам себе сделал плохо
да, файл логов контейнера пустой, но вообще spring приложение должно слать информацию на стандартный вывод, т.е.в терминале будет все видно при запуске... может как-то специально замапить надо?
Александр
Спасибо, буду ставить
там по ссылке типа эмулятор, можно не ставить
Petr
Спасибо, буду ставить
да шучу выбрось это дерьмо винду, переходи на линукс, убунту ИМХО норм, но гуй на всех линуксах тупой и тормознутый не доделанный. На маке есть свои причуды, но они побеждаются, правда если у тебя топовый мак
Andrey
У меня сейчас несколько целей: - научиться работать с докером - перенести дженкинс в докер контейнер и настроить запуск автотестов 1С (не знаю зачем, но коллеги по работе сказали в докере будет лучше) - научиться работать с разными версиями браузеров в докер-контейнерах для целей автотестирования сайтов и веб-приложений
Andrey
да, его тоже хочу начать изучать
Andrey
с puppeteer освоился немного, хочу дальше идти
Petr
selenium больная штука, но покрывает до 80-90% нужных кейсов
Александр
Там не один вариант логирования, так что не скажу
так а если замапить через -v папку в контейнере куда логи падают на папку во внешней системе это плохая практика?
inqfen
Да
inqfen
Если приложение переселяешь в контейнер - перенеправляй все в stdout и stderror
inqfen
в дев версии пусть срет куда хочет, а так ELK/EFK
В dev версии оно может хоть и не работать, но практика хорошей от этого и не становится
Arty
https://telegra.ph/Oni-sredi-nas-12-12
сейчас бы кубаноидам деньги отправлять
Anonymous
Кто касандру в контенере крутит ?
victor
Кто касандру в контенере крутит ?
Хрыч, но его тут нет вроде
victor
@erzentd
victor
А не, есть
Старый
Кто касандру в контенере крутит ?
плохая идея, если для прода
Старый
если конечно нагрузка не 100-600 записей в сек
Старый
тогда норм, но опять же, очень велик риск оом на пустом месте
Anonymous
плохая идея, если для прода
ты юзаешь битнами имедж ?
Старый
ты юзаешь битнами имедж ?
я и свой делал, толку, параметры ядра задаются на основном хосте нужные для кассандры, сеть и диски ты не затюнишь для докера, потому в зависимости от кейса, в докере её держать мазахизм
Старый
ты юзаешь битнами имедж ?
напиши какой у тебя кейс, можешь в личку, но если у тебя размер планируется больше чем 50 гб, забудь о докере в проде
tfhx8
Смотрю лог так: journalctl -u docker -f Далее идет лог nginx. В самом конфиге nginx не задан лог формат и вообще лог отключен, но он выводится каким то образом по умолчанию, где его менять?
tfhx8
хотя он включен в конфиге компоса через driver: journald, но как он там формат задает не понятно
tfhx8
access_log on; access_log /var/log/nginx/access.log main; делаю так + свой формат лога, работает. Но в директории откуда запускается докер компос, а имеенно в nginx создается файл on и в него пишутся логи, почему хз
tfhx8
зашел внутрь контейнера чтобы посмотреть это:
tfhx8
access.log -> /dev/stdout error.log -> /dev/stderr
tfhx8
почему такое происходит, кто знает?
tfhx8
тоесть как в конфиге Nginx включил access_log on;, так в этой дире созается файл on и туда пишутся логи
tfhx8
это в хостовой системе
Yuri
я извиняюсь, я тут совсем недавно, но это правильно, что в чатике про nginx задают вопросы про docker, а в чатике про docker задают вопросы про nginx?
Yuri
тоесть как в конфиге Nginx включил access_log on;, так в этой дире созается файл on и туда пишутся логи
потому что первый параметр к access_log - это имя файла, куда пишутся логи
Yuri
ты ему говоришь - access_log пиши в файл «on» - он туда и пишет.
Yuri
а относительное имя файла считается от директории /etc/nginx
tfhx8
потому что первый параметр к access_log - это имя файла, куда пишутся логи
всмысле это access_log on; должен быть ниже в конфиге чем access_log /var/log/nginx/access.log my; ?
tfhx8
ты ему говоришь - access_log пиши в файл «on» - он туда и пишет.
думал опция on и off включает и выключает лог
Yuri
всмысле это access_log on; должен быть ниже в конфиге чем access_log /var/log/nginx/access.log my; ?
в смысле - если ты пишешь access_log on; - это значит, что надо записывать лог формата main или mainlog в файл on в директории /etc/nginx/ Ни в одной документации нет access_log on;. Есть off, который выключает логгирование, все остальное - это записать лог в файл.
Yuri
а вообще есть чатик по нгинкс… хотя аудитория не слабо пересекается 🙂
tfhx8
а вообще есть чатик по нгинкс… хотя аудитория не слабо пересекается 🙂
да понял, я просто подумал может такое как то было связано с докером
Yuri
Не вопрос. Но то, что в докере, скорее всего не имеет понятия о том, что оно в докере, и значения в конфигах имеют значение только для того, что в докере без связи с докером.
Yuri
ппц, чот меня понесло. Я всё ))
Petr
Докер в докере может знать что он в докере)
Sam
Привет всем. Вопрос не про докер, но может кто то сталкивался. На маке есть ограничение в тредах для одного процесса. Его можно как то изменить?
Sam
Сейчас 4000 тредов, озу 16 губ
Andrey
Сейчас 4000 тредов, озу 16 губ
Привет. На маке с 2011 года, первый раз слышу про ограничения. В чем это проявляется?
Sam
В нагрузочном тесте jvm доходит до 4000 тредов и тест виснет
M
Может погуглить попробовать
Sam
sysctl kern.num_taskthreads
Sam
kern.num_taskthreads: 4096
Sam
мне вот это значение надо увеличить
Sam
ulimit -u 1418
Vlad
привет, подскажите, можно ли как-то запустить два docker-compose с разными конфигурациями в одном проекте? идея в том, чтоб в одном запуске крутилось девелопмент окружение, а во втором гонялись тесты.
Alex
Привет - может кто в курсе - в .gitlab-ci.yml - пропысываю комманду before_script: - export ANDROID_HOME=$(pwd)/android-sdk-linux - export PATH=$PATH:$(pwd)/android-sdk-linux/platform-tools/ но эти экспорты в контейнер не добавляються - может кто в курсе это из за $(pwd)?
Alex
сделай env и увидишь, а вообще лучше юзать хранилище переменных в самом гитлабе
вот такое решение ANDROID_HOME: "/builds/${CI_PROJECT_PATH}/android-sdk-linux"
Alex
$(pwd) - почему то не воспринимаеться - надо в файл закидывать и читать его как вариант и загонять в переменную - varibles gitlaba не вариант так как pwd это динамический параметр