@docker_ru
Docker — русскоговорящее сообщество

Обсуждаем вопросы, посвященные Docker🐳, Docker Swarm и всей экосистеме. Обмениваем идеями, новостями и решаем пробемы. Вам могут быть полезны: @coreos_ru, @kubernetes_ru, @devops_ru, @rkt_ru Рекомендуем сразу отключить уведомления для удобства

2608 members

Архив канала @docker_ru 12 января 2017 г.

05:20:32 ДП
User 180996075
Привет всем, подскажите кто чем сможет - у меня несколько docker-compose проектов. Как лучше и куда аггрегировать логи? Какие бест практис работы с логами? Какие инструменты используете?
05:27:21 ДП
User 85716738
ELK/Graylog + filebeat/fluentd
06:25:35 ДП
User 163248555
народ подскажите,
например у меня есть docker-compose с двумя сервисами бекенд и база
и сервис бэкенда зависит от базы
есть какой нить механизм дождатся инициализации базы? или на основании чего docker понимает что зависимый контейнер стартанул ?
06:27:40 ДП
User 66097481
Только depends_on
08:34:15 ДП
User 157588686
написать бэкенд так, чтоб он адекватно реагировал на выключенную базу?
08:35:39 ДП
User 112565265
а в докере же вроде добавляли хелчеки? или я гоню?
08:38:15 ДП
User 112565265
https://docs.docker.com/engine/reference/builder/#/healthcheck

помоему эта фича в купе с depends_on как раз должна дать то что нужно
docs.docker.com/engine/reference/builder
Dockerfiles use a simple DSL which allows you to automate the steps you would normally manually take to create an image.
09:03:53 ДП
User 38710435
посоветуйте нормальный реестр с ui ?
09:04:19 ДП
User 38710435
с очищением старых образов
09:04:27 ДП
User 38710435
через апи или крон
10:29:20 ДП
User 61730194
User 163248555
народ подскажите,
например у меня есть docker-compose с двумя сервисами бекенд и база
и сервис бэкенда зависит от базы
есть какой нить механизм дождатся инициализации базы? или на основании чего docker понимает что зависимый контейнер стартанул ?
Выставьте тайм-аут на соединение к бд, в течении которого ваша база данных точно стартанет, например 30 сек
10:30:26 ДП
User 163248555
как  разрулить на уровне приложения то понятно и несложно

мекня впринципе интересовало есть ли такой механизм в докере
10:34:39 ДП
User 61730194
В принципе нет стандартного механизма понять запустилась ли бд, или она просто пишет лог
10:35:07 ДП
User 61730194
В доках на эту тему
10:35:11 ДП
User 61730194
https://docs.docker.com/compose/startup-order/
docs.docker.com/compose/startup-order
How to control service startup order in Docker Compose
10:35:16 ДП
User 195343592
User 61730194
В принципе нет стандартного механизма понять запустилась ли бд, или она просто пишет лог
ну а ежели просто получить список баз через простенький запрос?
10:35:24 ДП
User 77550740
User 61730194
В принципе нет стандартного механизма понять запустилась ли бд, или она просто пишет лог
healthcheck?
10:36:26 ДП
User 61730194
Ну вот покажите мне пример с health check:)
10:37:17 ДП
User 61730194
User 195343592
ну а ежели просто получить список баз через простенький запрос?
Это свой скрипт
10:37:39 ДП
User 61730194
Мы же говорим о порядке запуска
10:39:12 ДП
User 61730194
С health check все контейнеры будут запущены одновременно , а чекинг произойдет через 30 сек, если дб не запустилась , он попробует еще три раза , и потом накроет контейнер
10:39:45 ДП
User 61730194
Порядок​ запуска не решится этим способом
11:37:23 ДП
User 163248555
а если выставлять в docker-compose.yml 
  backend:    
    depends_on:
     - postgres
то healthchech влияет ?
11:44:39 ДП
User 81212095
healthcheck это не про docker-compose немного, скорее про swarm
11:44:56 ДП
User 77550740
Полагаю что это вообще к докер демону относится, нет?
11:45:01 ДП
User 77550740
он же выставляет флаг если не проходит проверку.
11:45:11 ДП
User 77550740
Хотя я всего лишь предполагаю.
11:47:10 ДП
User 81212095
https://github.com/docker/compose/issues/3754
github.com/docker/compose/issues/3754
Is it possible for the depends_on parameter to wait for a service to be in a "Healthy" state before starting services, if a healthcheck exists for the container? At the moment in 1.8.0-rc...
01:19:22 ПП
User 38710435
User 163248555
как  разрулить на уровне приложения то понятно и несложно

мекня впринципе интересовало есть ли такой механизм в докере
https://github.com/jwilder/dockerize
github.com/jwilder/dockerize
Utility to simplify running applications in docker containers - jwilder/dockerize
01:19:42 ПП
User 38710435
$ dockerize -wait tcp://db:5432 -wait http://web:80 -timeout 10s
01:23:58 ПП
User 73212301
User 163248555
народ подскажите,
например у меня есть docker-compose с двумя сервисами бекенд и база
и сервис бэкенда зависит от базы
есть какой нить механизм дождатся инициализации базы? или на основании чего docker понимает что зависимый контейнер стартанул ?
как насчет restart: always?
01:25:13 ПП
User 73212301
твой бэкенд будет рестартоваться до тех пор, пока не дождется поднятия сервиса бд
01:25:52 ПП
User 61730194
жесть
01:26:13 ПП
User 163248555
User 38710435
https://github.com/jwilder/dockerize
github.com/jwilder/dockerize
Utility to simplify running applications in docker containers - jwilder/dockerize
спасибо инересная штука
01:26:19 ПП
User 73212301
у меня другой вопрос, есть те, кто использует гитлаб сиай+гитлаб раннер+докер экзекьютор? Как чистите после прогона пайплайна устаревшие образы? они обычно с пометкой <none>
01:26:45 ПП
User 73212301
и после пару десятков пушей их прилично так накапливается
01:28:18 ПП
User 163248555
User 73212301
как насчет restart: always?
помойму это плохая идея

рестарт нужен для перезапуска после падения процесса
если недоступность бд приводит к падению процесса то что не так с кодом (имхо надо голову сплечь снимать или на кол садить)
01:29:11 ПП
User 73212301
так то да, но у меня в проекте во всех сервисах эта опция по умолчанию
04:35:12 ПП
User 49536752
Привет, сообщество. Использует кто-нибудь гитлаб в докере?
04:49:29 ПП
User 59701326
User 49536752
Привет, сообщество. Использует кто-нибудь гитлаб в докере?
А иначе то как, там руби же. Слезьми изойдешь пока на хост поставишь
04:51:08 ПП
04:51:11 ПП
User 77550740
rvm и нет проблем.
04:51:33 ПП
User 59701326
ну ну
04:51:50 ПП
User 77550740
что ну ну? я тонну раз через rvm ставил
04:51:53 ПП
User 77550740
и на прод и локально
04:52:05 ПП
User 59701326
"работает у меня"
04:52:08 ПП
User 77550740
ставится легко и быстро, скорее от дистра зависит.
04:52:21 ПП
User 59701326
скорее от фаз луны зависит
04:52:25 ПП
User 59701326
и намоленности бубна
04:52:28 ПП
User 77550740
И что же у тебя не ставилось?
04:52:36 ПП
User 77550740
давай расскажи что там может быть такого крутого.
04:52:48 ПП
User 59701326
Воздержусь, лучше послушаю крутых парней
04:52:49 ПП
User 3640955
есть аж две докер-версии которые заводятся одной командой) зачем руками что-то делать?
04:53:32 ПП
User 77550740
User 59701326
Воздержусь, лучше послушаю крутых парней
не, ты расскажи что там не ставится то, интересно же.
04:53:36 ПП
User 59701326
А поговорить? А вычищать потом это всё, а не дай бог ещё руби приложение есть, а не дай бог обновлять.
04:53:45 ПП
User 59701326
User 77550740
не, ты расскажи что там не ставится то, интересно же.
Скока денег?
04:53:49 ПП
User 77550740
вычищать? rvm implode
04:54:17 ПП
User 77550740
обновляются руби также легко как и ставятся.
04:54:30 ПП
User 59701326
это верно, с этим не поспоришь
04:54:37 ПП
User 59701326
оно примерно всё там одинаково
04:54:41 ПП
User 77550740
И легко.
04:54:43 ПП
User 59701326
единого цвета я б сказал
04:55:02 ПП
User 157588686
сообщество о докере, а не о холиварах руби
04:55:27 ПП
User 3640955
довольно странный спор
05:09:26 ПП
User 56121515
User 49536752
Привет, сообщество. Использует кто-нибудь гитлаб в докере?
gitlab ce полностью в докере? Но зачем?
05:30:37 ПП
User 61730194
gitlab в докере не запускал, но почему нет?
05:31:52 ПП
User 56121515
есть omnibus у гитлаба
05:32:33 ПП
User 56121515
Для небольшого продакшна хватит более чем
05:33:09 ПП
User 56121515
установить и сконфигурировать 5 минут времени от силы.
05:34:54 ПП
User 61730194
https://docs.gitlab.com/omnibus/docker/README.html ну вот оф доки как его запустить в докере
docs.gitlab.com/omnibus/docker
Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.
05:35:51 ПП
User 56121515
Кроме как доп изоляция вообще не вижу смысла. Диск все равно внешний.
05:35:59 ПП
User 61730194
с оф image, то есть как я понял они не исключают этот кейс
05:36:24 ПП
User 61730194
ну докер для изоляции-то и юзают
05:37:35 ПП
User 56121515
Если сервис не в паблике, то нет такой необходимости. Наворачивать докер сверху? Хз. Переходы между версиями гитлаба через omnibus отлично осуществляются. В случае с разверткой в режиме HA уже другой разговор.
05:38:35 ПП
User 61730194
тут вопрос в едином инструменте для подъема X на своем сервере, это просто удобно
05:40:09 ПП
User 3640955
давно уже вообще все сервисы держу в докере, вся система единообразна целиком и полностью. наоборот - нет никакого смысла ставить без докера, это тупо сложнее и в установке и в поддержке.
05:51:27 ПП
User 49536752
Если честно то поставили так потому что докер известен а омнибус нет. Но вопрос в том что ни у кого не возникало проблем с гитлаб в докере: у меня сейчас каждые недель 7 гитлаб начинает лагать и рестарт контейнера не помогает docker engine уводит CPU load в 200 процентов и открыто 4к файловых дескрипторов. Помогает только перезапуск докер демона но на день или новый контейнер: на 7 недель.
05:52:18 ПП
User 56121515
А то ,что омнибус в докере работает не смущает?
05:54:33 ПП
User 56121515
Тот же фарш, что в омнибусе. Сам gitlab на примерно 70 пользователях + CI сейчас живет на 12 ядрах и 20 гб оперативы. Выедает все ядра на 100% + течет по памяти
05:55:23 ПП
User 49536752
То есть это норма?
05:55:54 ПП
05:55:59 ПП
User 56121515
Рельсы и руби
05:56:46 ПП
User 56121515
Мы не перезагружаем, но иногда выпадает один из процессов гитлаба по OOM, после чего поднимается и работает дальше.
05:59:22 ПП
06:01:16 ПП
User 49536752
:/ а почему докер при отпускании контейнера пытается еще что-то сделать?
06:01:28 ПП
User 56121515
@gitrus какая ось на хостовой тачке?
06:01:54 ПП
User 49536752
Убунту 14.04 3.19 kernel
06:03:55 ПП
User 3640955
User 49536752
Если честно то поставили так потому что докер известен а омнибус нет. Но вопрос в том что ни у кого не возникало проблем с гитлаб в докере: у меня сейчас каждые недель 7 гитлаб начинает лагать и рестарт контейнера не помогает docker engine уводит CPU load в 200 процентов и открыто 4к файловых дескрипторов. Помогает только перезапуск докер демона но на день или новый контейнер: на 7 недель.
Сейчас у нас 8.14, обновляю где-то раз в месяц-два. Ни разу не приходилось перезагружать вне планового обновления. Работает CI, проектов много (порядка 100). На хосте Ubuntu 16.04, практически всё в дефолтном виде.
06:05:02 ПП
User 56121515
User 3640955
Сейчас у нас 8.14, обновляю где-то раз в месяц-два. Ни разу не приходилось перезагружать вне планового обновления. Работает CI, проектов много (порядка 100). На хосте Ubuntu 16.04, практически всё в дефолтном виде.
А как же трабла с systemd-logind на 16.04?
06:05:21 ПП
User 3640955
User 56121515
А как же трабла с systemd-logind на 16.04?
не сталкивался
06:05:44 ПП
User 56121515
сислог глянь
06:05:45 ПП
User 49536752
User 3640955
Сейчас у нас 8.14, обновляю где-то раз в месяц-два. Ни разу не приходилось перезагружать вне планового обновления. Работает CI, проектов много (порядка 100). На хосте Ubuntu 16.04, практически всё в дефолтном виде.
Можешь скинуть команду запуска
06:06:36 ПП
User 56121515
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1591411
bugs.launchpad.net/ubuntu/+source/systemd/+bug/1591411
[Impact] The bug affects multiple users and introduces an user visible delay (~25 seconds) on SSH connections after a large number of sessions have been processed. This has a serious impact on big systems and servers running our software. The currently proposed fix is actually a safe workaround for the bug as proposed by the dbus upstream. The workaround makes uid 0 immune to the pending_fd_timeout limit that kicks in and causes the original issue. [Test Case] lxc launch ubuntu:x test lxc...
06:08:09 ПП
User 56121515
User 49536752
Можешь скинуть команду запуска
apt-get install gitlab-ce ?)
06:08:15 ПП
User 3640955
User 49536752
Можешь скинуть команду запуска
все дефолтное + нуже проектные настройки
06:08:23 ПП
User 3640955
gitlab:
    image: gitlab/gitlab-ce:8.15.2-ce.0
    restart: always
    ports:
      - "22:22"
    volumes:
      - gitlab-etc:/etc/gitlab
      - gitlab-opt:/var/opt/gitlab
      - gitlab-log:/var/log/gitlab
06:08:53 ПП
User 3640955
проектные: домен, smtp, бекапы
06:09:02 ПП
User 3640955
ничего не стандартного
07:09:58 ПП
User 175766174
https://www.youtube.com/watch?v=hpanztjqj5w это было просто эпично, ставьте лайки)
youtube.com/watch?v=hpanztjqj5w