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

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

2608 members

Архив канала @docker_ru 17 февраля 2017 г.

07:16:51 ДП
User 277475066
здаров посоны!
07:18:27 ДП
User 177916640
как заставить docker использовать http, вместо https?
07:18:27 ДП
User 177916640
прописал в  /etc/docker/daemon.json нужный хост
07:18:27 ДП
User 177916640
грубо говоря { "insecure-registries":["1.2.3.4:5000"] }
07:18:27 ДП
User 177916640
docker info выдаёт:
Insecure Registries:
 1.2.3.4:5000
 127.0.0.0/8
07:18:52 ДП
User 177916640
А да. Сорян)) он уже тут. ))
07:19:23 ДП
User 277475066
> docker -v
Docker version 1.12.6, build 78d1802
07:19:54 ДП
User 277475066
level=error msg="Attempting next endpoint for pull after error: Get https://1.2.3.4:5000/v2/: http: server gave HTTP response to HTTPS client"
07:19:56 ДП
User 277475066
в логах
10:03:41 ДП
User 114941324
User 112565265
Но ведь эти же самые риски справедливы и для базы вне докера? Точно также можно основной системы поломать что-то, точно также можно словить проблемы с фс. Просто применяйте обще принятые для этого стратегии, отдельный сервер для базы, бэкапы на другой сервер, наличие реплики
Но проблема в том, что это дополнительные риски, которые, честно говоря, не то что бы окупаются. Объеденять бд в кластер, со свободным плаваньем контейнеров весьма опасно, а просто запускать бд в докере или просто установленную ... ну, не такяа большая разница
10:06:40 ДП
User 112565265
разница в том что в контейнере удобнее, но конечно если база всего один инст глобальный на два десятка php сайтиков, то вероятно смысла особого и нет держать в контейнере
10:09:55 ДП
User 112565265
я примерно 6+ лет занимаюсь разработкой веб проектов разной сложности, и вот на моей памяти базы умирали потому что админ чего не то обновил насервере, изза того что программист написал корявую миграцию или полез на сервер с какойнить gui тулзой, изза того что харду пришла жопа, изза того что проект был написан индусами, которые оставили бэкдор, и потом пришли и удалили базу к херам. Последнии два года юзаю базы в докере, не спорю, у меня не было нагрузок, проектики стартапчки разношерстные, но не было такого чтобы база упала изза докера, или данные базы потерлись потому что бэкэнд фс докера погнал. Поэтому риск есть, вы правы, но вероятность его по моему опыту не больше чем выше перечисленные причины
10:11:46 ДП
User 112565265
возможно смерть базы от рук докера, еще у меня в переди 😃
10:13:39 ДП
User 288627620
почему базы не хранить на хост машине?
я так поступаю
10:58:26 ДП
User 50219851
мне интересно, при перезагрузке сервера или перезапуске контейнера, какой командой внутри докера бд складывается ?
10:59:00 ДП
User 50219851
в обычной системе есть уровни запуска и при выключении БД гасится правильно
10:59:20 ДП
User 50219851
думаю риск в том, что в докере, это не всегда так
11:06:47 ДП
User 112565265
точно такой же, докер шлёт процесу сигнал, и та корректно останавливается
11:07:54 ДП
User 112565265
https://docs.docker.com/engine/reference/commandline/stop/

The main process inside the container will receive SIGTERM, and after a grace period, SIGKILL.
docs.docker.com/engine/reference/commandline/stop
Description Stop one or more running containers Usage docker stop [OPTIONS] CONTAINER [CONTAINER...] Options Name, shorthand Default Description --time , -t 10 Seconds to wait for stop before killing it...
11:11:10 ДП
User 112565265
надо только учитывать, что если вы запускаете какой то демон через свой bash скрипт, то SIGNTERM получит баш скрипт, а демону он не передаст его. Я когда сервисы на golang деплоил, столкнулся с этим, ни как не мог понять почему  уменя сервис корректно не завершался
11:23:41 ДП
User 3640955
User 112565265
точно такой же, докер шлёт процесу сигнал, и та корректно останавливается
вот это кстати не всегда так получается. тут есть нюанс. докер шлет контейнеру SIGTERM, база начинает останавливаться. Для больших БД это операция может занять довольно продолжительное время, а у докера по умолчанию таймаут в 10 секунд и если база не успела всё доделать, что положено при её нормальном завершении - докер просто прибьёт её через SIGKILL через 10 секунд. И вот на этом месте можно очень легко получить побитые данные, хотя в большинстве случаев современные бд могут их восстановить после запуска - вероятность остается.
11:25:48 ДП
User 50219851
в общем надо быть втройне внимательней, при использовании БД в докере, т.к. много подводных камней, поэтому и не рекомендуют БД в него
11:26:57 ДП
User 112565265
не спорю, но с базами всегда надо быть в тройне внимательнее ))
11:27:07 ДП
User 3640955
но мы используем разные бд в докере и всё хорошо: perocona, elasticsaearch. mongodb. проблем небыло, если бысть осторожным всё ок.
11:30:02 ДП
User 50219851
но ведь на практике, ты никогда не узнаешь, когда у тебя база начнёт складываться больше 10 секунд...
11:30:21 ДП
User 50219851
или узнаешь, но уже в результате расследования фейла
11:31:08 ДП
User 3640955
для базы надо увеличивать таймаут завершения
04:49:57 ПП
User 58154146
User 3640955
для базы надо увеличивать таймаут завершения
Интересно, как это сделать можно? При ручной остановке понятно -t 30, а вот когда просто делается ребут хоста то тут как быть?
04:55:48 ПП
User 112565265
https://docs.docker.com/compose/compose-file/#/stopgraceperiod через композ можно задать
docs.docker.com/compose/compose-file
Compose file reference
05:07:31 ПП
User 58154146
User 112565265
https://docs.docker.com/compose/compose-file/#/stopgraceperiod через композ можно задать
docs.docker.com/compose/compose-file
Compose file reference
Благодарю!
10:59:16 ПП
User 282320912
Господа, а кто-нибудь в курсе как в нативном докере xdebug настроить? У меня наотрез отказывается: выводить в докер порт хоста (9000) так чтобы контейнер думал, что хост локальный и порт тоже локальный. Как?