
Andrey
27.03.2017
08:29:10
если докеру сказать просто порт, мне кажется он сам сопоставит рандомный порт из контейнера на выставленный наружу
это более предсказуемо и более прозрачно для фаервола иметь зафиксированный порт

Nikolay
27.03.2017
11:20:12
сильно костыльно? )
очень :) Обычно для этого используют сервис-дискавери. Consul, etcd, zookeeper... или польщуеются дискавери механизмами swarm/kubernetes, если они используются.

Igor
28.03.2017
03:11:42
Привет всем, ни кто не сталкивался в диджитал оушене с такой проблемой докера:
level=error msg="More than 100 concurrent queries from 172.25.0.3:58995"
у меня множество контейнеров на одном хосте, и они все шлют много логов на удаленный сервер graylog, то есть у всех контейнеров выставлен лог драйвер glef
как я понял меня не хочет обслуживать гугловый днс, потому что именно он стоит как дефолтный в /etc/resolv.conf
Изза того что контенеры выжирают днс лимиты, сами сервисы внутри контейнеров начали испытывать проблемы, не могут достучатся например до внешних апи, потому что днс не ресолвится

Google

I
28.03.2017
03:29:13
откуда такой вывод? что ты съел лимиты google dns?

Igor
28.03.2017
03:31:07
а все разобрался, у меня консул юзается, сервисы бэкэнда в нем регаются, но при деплои когда их контейнеры убиваются, они не удаляют себя из консула, в итоге тот продолжает пытаться до них достутчатся, за месяцок активной разработки и кучи деплоев, в консуле скопилась толпа этих сервисов, и в итоге он по всем ним пытался долбить, в результате выжирал днс лимиты, так как докер не мог найти контейнер по имени и перенаравлял запрос в днс

Denis
28.03.2017
06:25:24
Кто уже настраивал? https://blog.docker.com/2017/02/docker-secrets-management/

Nikolay
28.03.2017
08:29:51
что это за спам?!

Anton
28.03.2017
08:30:39
бляяя, я тебя умоляю, удали это говно сам

Nikolay
28.03.2017
08:31:00
и себя заодно, друг.

Pavel
28.03.2017
08:48:33

Anton
28.03.2017
09:01:26
ну ало народ, это же робот. покупается sim-коробка на 120 симок, покупается 120 симок на савеле или в украине - и вперед, спамить

kiltum
28.03.2017
12:19:53
Меня все время интересовало, насколько успешен такой спам. Или люди настолько идиоты, что до сих пор ведутся?

Andrey
28.03.2017
12:22:22
ну че вы так сразу, мощный бизнес от инфобизнесменов или от бизнес-молодости
они вовремя подскочили, телеграммы начали устанавливать даже домохозяйки
сто обманутых старушек - один рубль!

Anton
28.03.2017
12:23:23
Мощный бизнес это когда ты делаешь сервис прокси-рекламы - когда каждый send_message в телеграмме дописывает какую то рекламу прозрачно для бота

Google

Denis
28.03.2017
12:24:19
Сигнальте громче, если что)

Andrey
28.03.2017
12:24:52
Signal не сертфицирован ФСБ
слишком защищенный как и Threema

тнн Itjunky
29.03.2017
10:54:14

Pavel
29.03.2017
11:29:46
Добрый день, коллеги. Не подскажите, имеется три контейнера запускающихся через docker-compose. Вопрос в их правильном бекапе. Правильно ли будет остановить каждый из них через docker-compose stop и забекапить каждый по отдельности через docker commit?

Oleg ?
29.03.2017
11:35:50
всю систему чтоль хочешь бэкапить?
правильнее волюмы создать внутрь в нужные папки\файлы
и уже бэкапить волюмы если уж так надо

Andrey
29.03.2017
11:59:12
бэкап докера звучит странно
докер создан чтобы умирать)
ну если хочется извращений, то лучше всего сделать отдельный дата-сервис и бекапить его, вольюмы достаточно проблематично доставать

Pavel
29.03.2017
12:00:59
Три контейнера: nginx, postgres, nbox фронтенд. Хочу что бы база была забекаплена как минимум...

Andrey
29.03.2017
12:01:27
бекапить нгинкс смысла нет
постгре можно бекапить снаружи
фронтенд максимум содержит фолдер с аплоадами, больше там бекапить нечего

Pavel
29.03.2017
12:02:18
Nginx если конфиги не менял, то да, нет смысла бекапить. А зачем снаружи?
чем docker commit не катит?

Andrey
29.03.2017
12:02:35
чтобы не останавливать, можно настроить реплику

Pavel
29.03.2017
12:03:04
А если остановка для сервиса не критична? Разве бекап контейнера не является более правильным вариантом?

Andrey
29.03.2017
12:03:32
вся суть докера в том, что у него фс с ревизиями

Google

Andrey
29.03.2017
12:03:59
чем больше изменений, тем больше слоев, а это очень интересная игра
можешь попробовать поиграться с docker export/import

Pavel
29.03.2017
12:06:44
дык разве база не в памяти висит? Правильная остановка базы должна положить разницу от предыдущего слоя на диск. Docker-commit сделает снапшот-разницу между прошлым состоянием диска и текущим.

Andrey
29.03.2017
12:08:34
насколько я помню у докера есть дефолтный лимит на память используемую контейнером

Pavel
29.03.2017
12:09:17
А всё что не влезло в своп?

Andrey
29.03.2017
12:10:08
вот на докхабе есть прям образ https://hub.docker.com/r/wetransform/dockup/

Timur
29.03.2017
12:11:20
кто-нибудь использует keepalived? есть смысл его в контейнер сувать и потом с маршрутизацией private-public IP париться?

Pavel
29.03.2017
12:30:27

тнн Itjunky
29.03.2017
12:31:23

Anton
29.03.2017
12:32:36
restart: always

Anton
29.03.2017
12:32:38
services:
nginx:
build: ./nginx
restart: always

тнн Itjunky
29.03.2017
12:33:37
О, спс

Andrey
29.03.2017
12:34:12
у докера все еще есть та детская болезнь на запуск зависимых сервисов?

Anton
29.03.2017
12:34:34
Что за болезнь?

Andrey
29.03.2017
12:34:35
помню, делали в докер-композе wait4mysql
потому что вебморда стартовала раньше чем инициализировалась база

Anton
29.03.2017
12:35:07
Есть depends_on:
services:
nginx:
build: ./nginx
restart: always
depends_on:
- data

Andrey
29.03.2017
12:35:15
а не помогает)

Anton
29.03.2017
12:36:00
А, ну наверное база стартует долго, докер запускает процесс - и считает его "запущенным"

Andrey
29.03.2017
12:36:01
это в первый раз, когда мне понадобился restart: always и я его быстро загуглил

Google

Andrey
29.03.2017
12:36:37
но это не спасло от написания скрипта на ожидание

тнн Itjunky
29.03.2017
12:36:37

Andrey
29.03.2017
12:37:09
137 это убийство kill 9

тнн Itjunky
29.03.2017
12:37:36
command: apachectl -f /etc/httpd/conf/httpd.conf -e info -DFOREGROUND
restart: always
Для проверки жму ctrl+c

Admin
ERROR: S client not available

тнн Itjunky
29.03.2017
12:38:00
И оно просто умирает по 137

Andrey
29.03.2017
12:38:20
на деле это означает что что-то есть в CMD
и кто-то пытается что-то запустить помимо этого)

Anton
29.03.2017
12:38:41
Вам не нужен restart: always. вам нужен restart: on-failure

тнн Itjunky
29.03.2017
12:38:56
CMD watch netstat -nlpt
КОторое не работает вообще

Andrey
29.03.2017
12:39:56
а зачем рестарт?

тнн Itjunky
29.03.2017
12:40:55
Чтоб жило всегда же

Andrey
29.03.2017
12:41:51
тогда unless-stopped или что-то в эту степь

Anton
29.03.2017
12:42:17

Andrey
29.03.2017
12:42:36
и советую поменять CMD на родное CMD ["nginx", "-g", "daemon off;"]

Anton
29.03.2017
12:42:55

Andrey
29.03.2017
12:42:56
оно запускает именно то, что ожидается от контейнера
контейнер не делает магии, если вы пишете свой докерфайл - делайте красиво)

Google

Andrey
29.03.2017
12:44:30
можно еще затюнить и выставить симлинки логов на /dev/stderr

Oleg
29.03.2017
12:50:42
увы, красивее не придумалось

тнн Itjunky
29.03.2017
12:56:34

Anton
29.03.2017
12:59:45

Andrey
29.03.2017
13:09:46
спасибо, но меня и тогда смутило его решение, в проде используется dockerize https://github.com/jwilder/dockerize/

redbeard
29.03.2017
13:57:10
https://cs7051.userapi.com/c638316/v638316370/3a65f/hvJV3S7Dtvg.jpg

Oleg
29.03.2017
14:07:19
интересно, что она ответит когда будет готова

Anton
29.03.2017
14:11:00
ну или просто спрашивать какой нибудь ключ
видел варианты сложнее чем просто ждать порт

Oleg
29.03.2017
14:12:22
мой скрипт чекал логи и ждал строчку конкретную. типа "Ready and waiting for connections on 27017"

Anton
29.03.2017
14:13:02
Костыль - это монга в проде! Все остальное не запрещено)