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

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

2608 members

Архив канала @docker_ru 2 ноября 2016 г.

01:25:21 ДП
User 462722
ребят, а есть чат про elasticsearch?
02:58:47 ДП
User 105697514
User 228403837
можно ли как-то быстро сделать временную копию текущего контейнера?
https://criu.org/Docker
criu.org/Docker
This article describes the status of CRIU integration with Docker, and how to use it.
02:59:33 ДП
User 105697514
уже в экспериментальную версию вроде добавляют эти фичи
06:38:44 ДП
User 249202250
Всем привет. Кто может подсказать, как подключиться по SSH к контенеру?
06:39:06 ДП
User 77550740
зачем?
06:40:35 ДП
User 119651087
можно же аттачиться или запускать команды внутри запущенного контейнера с -it параметром
06:41:54 ДП
User 249202250
User 77550740
зачем?
Потому что там Yii2 ) ..
06:42:00 ДП
06:42:05 ДП
User 77550740
ssh то зачем?
06:42:26 ДП
User 249202250
В общем создал контейнер, и нужно файлы в нем изменить?
06:42:32 ДП
User 249202250
С другой оси
06:42:34 ДП
User 249202250
по сети
06:42:48 ДП
User 1698969
новый образ, новый контейнер
06:42:50 ДП
User 77550740
в контейнере файлы менять не надо
06:42:53 ДП
User 77550740
если они не volume
06:42:54 ДП
User 52630648
Можно поставить sshd, настроить ключи и коннектиться. Либо docker exec -it <container_name> /bin/bash
06:43:04 ДП
User 1698969
никакие файлы в существующем контейнере не менять
06:43:16 ДП
User 77550740
User 52630648
Можно поставить sshd, настроить ключи и коннектиться. Либо docker exec -it <container_name> /bin/bash
Не нужно так делать (установка ssh)
06:43:17 ДП
User 1698969
User 52630648
Можно поставить sshd, настроить ключи и коннектиться. Либо docker exec -it <container_name> /bin/bash
зачем учить людей bad practices?
06:43:40 ДП
User 249202250
А как правильно сделать?
06:43:43 ДП
User 77550740
докер нужно понять и принять или отказаться )
06:43:46 ДП
User 52630648
Человек спрашивает. Надо ответить. И это не всегда плохо. Например, чтобы дать доступ только к контейнеру.
06:43:52 ДП
User 77550740
User 249202250
А как правильно сделать?
пересобрать образ и залить новый
06:44:07 ДП
User 77550740
User 52630648
Человек спрашивает. Надо ответить. И это не всегда плохо. Например, чтобы дать доступ только к контейнеру.
ssh внутри контейнера это всегда плохо.
06:44:08 ДП
User 230355759
Барух is typing! Страсти-то какие!
06:44:22 ДП
User 1698969
и не говори, сам в шоке
06:45:44 ДП
User 249202250
а даьт в контенере доступ к папке вне контенера?
06:45:57 ДП
06:45:59 ДП
User 77550740
давай начнем с того
06:46:06 ДП
User 77550740
какой кейс ты пытаешься решить?
06:46:13 ДП
User 77550740
ты хочешь код проекта обновлять?
06:46:32 ДП
User 77550740
или ты спрашиваешь как storage (место для заливки файлов например) подцепить?
06:46:51 ДП
User 230355759
User 1698969
и не говори, сам в шоке
У меня мужик один знакомый есть, я его 25 лет знал как МихалБорисыча, а потом пробил по базе - он Моисей Борухович 00
06:47:06 ДП
User 249202250
я хочу развернуть сервер apache2 с php5 и mysql чтобы установить yii2
06:47:10 ДП
User 52630648
Мы используем капистрано в docker контейнере. Для этого необходимо установить sshd. Не тру?
06:47:15 ДП
User 230355759
Отличный дядя, кстати - совок и антисемит в хороших смыслах этих слов
06:47:20 ДП
User 249202250
у меня проблема только с файлами yii2
06:47:26 ДП
User 77550740
User 249202250
я хочу развернуть сервер apache2 с php5 и mysql чтобы установить yii2
Берешь docker-compose и собираешь из нескольких контейнеров
06:47:40 ДП
User 77550740
Кстати apache не нужен, бери nginx/phpfpm
06:48:14 ДП
User 77550740
User 52630648
Мы используем капистрано в docker контейнере. Для этого необходимо установить sshd. Не тру?
А зачем капистрано + докер? мне казалось что капистрано там уже не нужен не?
06:48:17 ДП
User 230355759
Ребят, а кто в винде уже реально пользуется ДОЛГОЖИВУЩИМИ контейнерами?
06:48:19 ДП
User 77550740
он же для недокерных деплоев
06:48:34 ДП
User 230355759
"завместо" chocolatey
06:49:03 ДП
User 52630648
Ну капистрано изначально использовалс в проекте.
Расскажите как правильно деплоить rails приложение тогда в контейнер.
06:49:11 ДП
User 230355759
У меня много сервисов, ОДИН сервер железный и никаких требований по безопасности (govcloud)
06:49:40 ДП
User 230355759
дайте бесплатный совет - в какую сторону гуглитьб
06:50:20 ДП
User 77550740
User 52630648
Ну капистрано изначально использовалс в проекте.
Расскажите как правильно деплоить rails приложение тогда в контейнер.
предположу что в entrypoint просто перед запуском засунуть запуск миграций, а деплоить как и все остальные контейнеры.
06:50:33 ДП
User 77550740
Тут сильно от внутренней инфраструктуры зависит имхо.
06:51:01 ДП
User 77550740
если у вас постгрес то миграции будут в транзакции прогоняться.
06:53:00 ДП
User 52630648
User 77550740
предположу что в entrypoint просто перед запуском засунуть запуск миграций, а деплоить как и все остальные контейнеры.
Я понял о чем вы. А есть возможность при этом сделать zero downtime деплой, откат на предыдущую версию? Мне кажется необходимо заморочиться. Либо использвать существующие наработки с докером. Вот и вопрос - есть ли такие?
06:53:36 ДП
User 77550740
Для zero downtime старая кодовая база должна поддерживать новую схему базы
06:54:00 ДП
User 77550740
иначе вам все равно придется вырубить сразу все контейнеры которые работали на старой схеме
06:54:28 ДП
User 77550740
Откат имхо вручную надо делать.
07:08:07 ДП
User 119651087
User 77550740
Для zero downtime старая кодовая база должна поддерживать новую схему базы
Самое правильное решение! Есть куча практик по этой теме. Таких как
 - Нельзя удалять/переименовыввать поля в базе
- Только добавление данных, никакого удаления
- ...и еще куча и куча всякого...
07:10:37 ДП
User 119651087
тогда и откаты (что-то пошлое слово какое-то) не надо будет делать. Просто сменил версию образа и перезапустил контейнер
Для 0-downtime в таких инструментах как Kubernetes предусмотрены специальные абстракции Deployment
Меняется версия образа и он сам сначала поднимает новый контейнер, роутит туда запросы и опускает старый. Очень удобно!
07:14:50 ДП
User 52630648
User 119651087
Самое правильное решение! Есть куча практик по этой теме. Таких как
 - Нельзя удалять/переименовыввать поля в базе
- Только добавление данных, никакого удаления
- ...и еще куча и куча всякого...
Спасибо. Посмотрим в сторону Kubernetes.
07:38:11 ДП
User 249202250
хорошо.. а как тогда примонтировать папку из оси в контейнер, чтобы изменения в файлах вне контейнера были видны внутри контейнера?
07:38:49 ДП
User 77550740
User 249202250
хорошо.. а как тогда примонтировать папку из оси в контейнер, чтобы изменения в файлах вне контейнера были видны внутри контейнера?
А чего ты хочешь добиться?
07:38:57 ДП
User 77550740
ты хочешь локально разрабатывать используя докер да?
07:38:59 ДП
User 38710435
Всем привет. Подскажите, пожалуйста, как мне сделать изнутри контейнера доступным соседний контейнер через докерхост?
07:40:23 ДП
User 249202250
Да, именно так
07:40:23 ДП
User 249202250
А чего ты хочешь добиться?
07:40:23 ДП
User 249202250
ты хочешь локально разрабатывать используя докер да?
07:40:54 ДП
User 77550740
User 249202250
Да, именно так
А почему вместо того чтобы задавать вопросы как сдлеать неправильно не спросить "ребят как лучше решить мой кейс?"
07:41:03 ДП
User 77550740
Особенно если ты новичок в технологии?
07:41:14 ДП
User 77550740
берешь docker-compose и папку с проектом монтируешь как volume внутри контейнера
07:41:41 ДП
User 77550740
Только не говори мне что ты апач+php+mysql в один контейнер засунул.
07:43:10 ДП
07:43:17 ДП
User 249202250
Именно
07:43:42 ДП
User 77550740
User 249202250
Именно
Берешь докер композ и делаешь так чтобы каждый контейнер решал одну задачу
07:43:57 ДП
User 77550740
скорее всего у тебя будет контейнер с mysql, контейнер с php-fpm и контейнер с nginx
07:44:06 ДП
User 77550740
все это делается через docker-compose
07:44:30 ДП
User 77550740
Перед этим надо будет смириться что ты написал велосипед и его надо выкинуть.
07:44:37 ДП
User 249202250
спасибо, уже читаю про compose :)
07:44:42 ДП
User 77550740
Собрать docker-compose под php очень легко кстати.
08:52:06 ДП
User 110309315
User 119651087
Самое правильное решение! Есть куча практик по этой теме. Таких как
 - Нельзя удалять/переименовыввать поля в базе
- Только добавление данных, никакого удаления
- ...и еще куча и куча всякого...
А когда он миграции делает?
Можно ли его вначале поднять, промигрировать, затем сделать из него "стейджинг" - то есть пустить туда 1-5% трафика (включая свой) и посмотреть как оно работает. И если ок, то начатт плавно заменять старые контейнеры на новые?
09:03:46 ДП
User 119651087
Кто миграции делает? Ваше приложение?
При старте.
По поводу трафика - решайте это через LoadBalancer
09:04:30 ДП
User 119651087
встроенные в Kubernetes вроде не позволяют делить трафик на части, но Вы всегда можете сделать свой сервис и направлять трафик через него, воспользовавшись тем же HAProxy или Nginx
09:04:41 ДП
User 119651087
как отдельным сервисом внутри инфраструктуры
09:26:00 ДП
User 110309315
User 119651087
Кто миграции делает? Ваше приложение?
При старте.
По поводу трафика - решайте это через LoadBalancer
Да, но при этом я не хочу, чтобы пока оно делает миграции на него шел трафик. Или это должен "увидеть" LB, что порт лежит? Как решаеся вопрос, что последующий запускаемые контейнеры не пытались делать миграции еще раз? Понятно, что нормальная система миграций это не допустит, но потеря времени на проверку тож не нужна.
09:26:07 ДП
User 110309315
И лишние ошибки при запуске
09:27:10 ДП
User 77550740
на кого шел траффик? зачем пускать на контейнер траффик если он выполняет миграции?
09:32:06 ДП
User 119651087
Я так понял, Евгению нужен типа "стейджинг"?
09:32:12 ДП
User 110309315
Не зачем, но пока не очень понимаю как его отсечь. Да я могу в nginx сказать, что вот этот сервис лежит. Но это какой-то "заказ солнца вручную"
09:32:31 ДП
User 77550740
у вас балансировщика с hearthbeat нету?
09:32:44 ДП
User 119651087
стоп-стоп... в тоже же HAProxy есть check
09:32:52 ДП
User 110309315
И стейджинг и запуск контейнерва в режиме миграции - то есть первй запуск новой версии контейнера
09:33:13 ДП
User 110309315
Я и пишу - LB проверяет. что контейнер пока не готов отвечать по порту и не льет на него трафик.
09:33:46 ДП
User 119651087
все балансеры должны это поддерживать же...
09:33:47 ДП
User 110309315
Но это врде как костыль
09:34:03 ДП
User 119651087
https://www.haproxy.com/doc/aloha/7.0/haproxy/healthchecks.html
09:34:07 ДП
User 119651087
в смысле костыль?
09:35:00 ДП
User 110309315
Не лучше ли, чтобы средстав упраленияк контейнером понимали в каком он состоянии и либо добавляли его в группу либо ждали пока отмигрируется. И чтобы следующуй запуск контейнера такого же типа был без миграций - сразу а работу.
09:35:01 ДП
User 77550740
User 110309315
Но это врде как костыль
с чего бы это?
09:35:09 ДП
User 77550740
Ну допишите средства управления контейнерами
09:35:26 ДП
User 77550740
они вроде как опенсорс большинство
09:35:43 ДП
User 77550740
Чтобы назвать что то костылем - нужна аргументация.
09:35:47 ДП
User 77550740
Я так могу сказать что докер костыль
09:36:26 ДП
User 119651087
С точки зрения контейнерного движка (docker в нашем случае) - успешный запуск контейнера == успешный запуск приложения.
Как дальше ведет себя приложение от Докера не зависит никак
09:37:19 ДП
User 119651087
если Ваше приложение запускается в несколько стадий - смотрите качественные параметры по которым можно проверить запущено ого или нет
09:37:30 ДП
User 110309315
Выкатывается новый контейнер, при запуске он всегда проверяет миграции и начинает работу. Как только контейнер начинает запуск, к нему пытается подключаиться LB (nginx, haproxy, etc) - по сути она получает, что сначала порт down но в какой-то момент отвечает и можно начинать работу?
09:37:36 ДП
User 119651087
в Вашем случае - ответ приложения по запросу на определенный адрес
09:37:37 ДП
User 110309315
хотелось бы узнать best practices
09:38:00 ДП
User 119651087
да, LB умеет это делать сам
09:39:41 ДП
User 119651087
https://www.nginx.com/resources/admin-guide/load-balancer/
nginx.com/resources/admin-guide/load-balancer
Learn how to configure NGINX to load balance HTTP among multiple servers, pass requests, and about the methods of monitoring those servers
09:40:07 ДП
User 119651087
https://www.digitalocean.com/community/tutorials/an-introduction-to-haproxy-and-load-balancing-concepts
digitalocean.com/community/tutorials/an-introduction-to-haproxy-and-load-balancing-concepts
An introduction to basic load balancing concepts and terminology, using HAProxy, with some examples.
09:40:25 ДП
User 119651087
да вроде везде одинаково происходит проверка и балансинг...
09:42:59 ДП
User 119651087
если углубляться в контейнеры и системы оркестрации, то в них есть специализированные LB
Большинство из них использует готовые от провайдеров (Kubernetes может юзать LB от Amazon и Google) либо кастомные решения под конкретную систему оркестрации
09:44:01 ДП
User 119651087
http://kubernetes.io/docs/user-guide/load-balancer/
http://docs.rancher.com/rancher/v1.2/en/cattle/adding-load-balancers/
https://mesosphere.github.io/marathon/docs/service-discovery-load-balancing.html
https://botleg.com/stories/load-balancing-with-docker-swarm/
kubernetes.io/docs/user-guide/load-balancer
Production-Grade Container Orchestration
09:44:12 ДП
User 119651087
Google Вам в помощь ;)
12:01:30 ПП
User 39279151
Всем привет столкнулся вот с какой проблемой. Сделал экспорт контейнера (export и import )на другую тачку. После этого попытался его запустить и теперь получаю следующую ошибку:
ERROR: for activemq  Cannot create container for service activemq: No command specified
ERROR: Encountered errors while bringing up the project.

Удаление образа и снова его создание проблему не решило, прошу помощи у знатоков.
12:14:09 ПП
User 141975931
User 110309315
Не лучше ли, чтобы средстав упраленияк контейнером понимали в каком он состоянии и либо добавляли его в группу либо ждали пока отмигрируется. И чтобы следующуй запуск контейнера такого же типа был без миграций - сразу а работу.
Marathon, aurora, singularity это умеют. Kubernetes тоже должен поддерживать healthcheck. Это к вопросу о том как понять что приложение успешно запущено. По вопросу стейджинга, сделайте промежуточный сервис и как вам уже подсказали гоните трафик через lb.
02:00:52 ПП
User 39597995
Всем привет. Подскажите, кто знает
02:00:52 ПП
User 39597995
Ув. докерознатоки. Подскажите по поводу такого кейса:
Есть сайт А и сайт Б, расположенные на одном сервере, которые используют общую бд. Оба работают на питоне 2.7 и джанго 1.7
Сайт Б работает, простигосподи, с запросами на 1С, и пока ждет ответа(это же 1С) висит весь сервер т.е и первый и второй сайт.
Переписывать все на асинхрон возможности нету

Вопрос - реально же сайт Б завиртуализировать в докере, чтобы если он падал и пожирал ресурсы, но не в ущерб сайту А? (при этом оба должны использовать одну БД)
02:30:12 ПП
User 228403837
User 39597995
Ув. докерознатоки. Подскажите по поводу такого кейса:
Есть сайт А и сайт Б, расположенные на одном сервере, которые используют общую бд. Оба работают на питоне 2.7 и джанго 1.7
Сайт Б работает, простигосподи, с запросами на 1С, и пока ждет ответа(это же 1С) висит весь сервер т.е и первый и второй сайт.
Переписывать все на асинхрон возможности нету

Вопрос - реально же сайт Б завиртуализировать в докере, чтобы если он падал и пожирал ресурсы, но не в ущерб сайту А? (при этом оба должны использовать одну БД)
cgroups, ограничить по ресурсам, хэлсчеки, политики рестарта?
03:01:26 ПП
User 39597995
User 228403837
cgroups, ограничить по ресурсам, хэлсчеки, политики рестарта?
Спасибо, обязательно посмотрю. С докером совсем не знаком
09:39:13 ПП
User 110309315
User 119651087
http://kubernetes.io/docs/user-guide/load-balancer/
http://docs.rancher.com/rancher/v1.2/en/cattle/adding-load-balancers/
https://mesosphere.github.io/marathon/docs/service-discovery-load-balancing.html
https://botleg.com/stories/load-balancing-with-docker-swarm/
kubernetes.io/docs/user-guide/load-balancer
Production-Grade Container Orchestration
Спасибо всем! Буду ковырять, смотреть!