Ellin
в проде не вылезают проблемы?
Roman
в проде нет
Roman
в проде у нас другие проблемы, но они специфичные
Roman
и всю эту кухню с кучей сервисов мы используем для 2 моментов
Roman
1) функциональное-интеграционное тестирование
Roman
на локале
Roman
2) разворачивание на инфре заказчика
Roman
композер, мешн
Ellin
но если нужно поднять базу в контейнере она ведь все равно должна иметь маунт на хост? не поднимать ведь внутри нее данные
Ellin
тогда она будет упираться IO снова
Roman
база может иметь тестовые данные
Roman
и подниматься из фикстур
Roman
ну и базу можно держать не в контейнере
Ellin
Если она вне, то будет тормозить при маунте
Alexander
поделитесь опытом Пытаюсь поднять на docker-compos develop окружение и всязать пяток севисов в нутри домер сети машинки видят себя по имени (api,billing,admin,db,redis и тд) А вот с обращение с девел машины (браузер разработчика) получается как то не удобно вариант с портами не нравится тем что нужно знать что api->3001 lk->3002 и тд Хочется првести к видуо api.mydomain.devel и тд
Ellin
Добавь nginx
Ellin
И пусть он все раутит
Alexander
+ имена хостов пишутся в /etc/hosts в каждом контейнере. Там жестко прописаны ip-адреса которые устанавливаются для контейнера при запуске
Seva
или какой-то дискавери с SRV типа консула
Roman
проблема с маунтом из-за журнала фс на хосте или почему?
Roman
Вроде сварм который в 1.12 умеет дискавери
Nikolay
Приветствую всех! Меня зовут Николай. Я фрилансер. Программирую на JavaScript. Сам из Красноярска. Про docker знаю давно, но все руки не доходили заняться всерьез. На данный момент от меня наверное пользы мало будет, так как нет опыта. Надеюсь поучиться у более опытных и со временем поделиться своим опытом.
Alex
Привет, меня зовут Саша и я <s>наркоман</s>функциональщик. А ещё тролль, негодяй и школота. Сейчас заведую инфрой и всем вокруг неё в inten.to #whois
Sergei
если вы точно знаете IP этих контейнеров, то почему-бы просто не воспользоваться роутингом по разным таблицам для этих двух IP?
Имеется ввиду что-то вроде ? iptables -t nat -D POSTROUTING -s <container_ip> -j SNAT --to-source <external_interface_ip>
Alex
#whois работаю с проектами около OpenStack. Из Москвы.
ko4
виртуозо?
Alex
Не
Alex
Itkey
Алексей
#whois Лёха Николаев, работаю в гос. НИИ, Тверь, инженер, занимаюсь поддержкой разработки и внедрением, пытаюсь понять что такое docker и как с ним жить. Могу поддержать беседу и хочу плодотворного общения на проф. темы.
Maxim
Всем привет! Админю всю ит инфраструктуру в компании и хочу перевести линуксовые сервисы в докер. Есть 3 сервера и хочу сделать из них отказоустойчивый кластер. Рассматриваю: - tectonik с kubernetes - docker UCP (я так понимаю платный в любом его проявлении и никаких бесплатных и комьюнити версий нет?) - docker 1.12 с его swarm'ом И встает вопрос как и где хранить stateful данные, например Бд. Опять же рассматриваю: - ceph и плагин для docker volume с двойной репликацией - проприетарный emc scaleio с их плагином для докера Или есть какое более красивое решение хранения данных? То есть в моем видении на этих трёх нодах будут крутится менеджеры, воркеры и реплицироваться данные х2. И если какая одна нода падает, менеджер поднимает на другой ноде воркеры, а данные они все распределенные и допускают выход 1 ноды из 3.
Denis
Привет, Максим. Тектоник тоже насколько я помню платный. В тоже время CoreOS + Kubernetes вполне приличная конфигурация (см. детали в @kubernetes_ru). Такой кластер приведёт к микросервисной архитектуре, где БД - по сути это микросервис, как мы недавно обсуждали.
Denis
Какие критерии к данным? Скорость доступа? Сохранность? Объем? Мы в конфигурации вынесли данные на отдельные сервера.
Maxim
Какие критерии к данным? Скорость доступа? Сохранность? Объем? Мы в конфигурации вынесли данные на отдельные сервера.
В идеале все должно быть ) ceph и scaleio умеют ssd кэш для скорости, репликацию и выдерживают отказ одной ноды
Nikita
Привет, а кто-нибудь запускал nomad? есть опыт?
Антон
#whois Привет, меня зовут Антон. - Работаю в консалтинге - DevOps/Системное администрирование - Системное администрирование и автоматизация - Узнавать больше про Docker - Москва - Из поста в Gitter
Антон
Всем привет, еще раз. У кого нибудь есть опыт настройки проекта для Gitlab CI + Docker ?
☝️😉👍
#whois категорически приветствую! DevManager проектов разработки авиационных систем и ПО для авионики. Стараемся менять подходы в очень консервативном окружении.
Igor
какое сейчас лучшее решение для замены hub.docker.com на приватный registry? желательно попроще и с интерфейсом 😊
Антон
добавляю репозиторий в образ и время билда при dind более 15 минут
Alexander
> @gorniv какое сейчас лучшее решение для замены hub.docker.com на приватный registry? желательно попроще и с интерфейсом 😊 артифактори можно попробовать
Антон
А в чем сложность?
сложность в том какой метод использовать при параллельных билдах за разумное время, судя по всему dind наиболее подходящий, но билд идет от 15 до 25 минут, тесты должны выполняться внутри репозитория, для dind я в Dockerfile через ADD добавил репозиторий , тк я не нашел другого способа запустить тесты внутри контейнера через docker run my-image /path/to/test/scripts.
Alexander
Антон, не используй dind, в нем нет кеширования скачиваемых image
Антон
Антон, не используй dind, в нем нет кеширования скачиваемых image
если не использовать dind то после билдов остается мусор в виде образов , как в docker images, так и в docker ps -a
Alexander
а чистить никак? :)
Alexander
1) docker run можно гонять с --rm
Антон
если не использовать dind то после билдов остается мусор в виде образов , как в docker images, так и в docker ps -a
к тому же названия билдов могут конфликтовать друг с другом и docker такие образы будет делать как <none>
Alexander
2) можно чистить создаваемые volume/image
Alexander
3) есть разные переменные, которые можно использовать - номер сборки, номер проекта и т.п.
Антон
а чистить никак? :)
пробовал, но если будет 2 билда параллельно, то когда 1 завершиться он удалить gitlab-runner-cache и 2 билд накроется
Alexander
https://about.gitlab.com/2016/08/11/building-an-elixir-release-into-docker-image-using-gitlab-ci-part-1/ вот посмотри как мы сделали, может поможет
Alexander
у меня запущен gitlab multi runner, параллельные билды 10 штук, внутри docker-раннера пробрасывается /var/run/docker.sock с хоста
Alexander
/cache в принципе не используется
Alexander
да
Alexander
единственно у раннера есть бага известная - он не закрывает коннекты к /var/run/docker.sock
Alexander
приходится его рестартовать периодически
Антон
да
те это получается docker socket bind метод?
Alexander
ага
Alexander
https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/ вот ещё про dind
Антон
да я читал это все
Антон
@spscream https://gitlab.com/gitlab-org/gitlab-ce/issues/17861 вот тут еще для dind пишут можно ускорить если использовать variables: DOCKER_DRIVER: overlay
Alexander
я тоже долго с dind копался, потом плюнул :) получится настроить по нормальному и без костылей, расскажешь
Антон
а как ты очищаешь историю после билдов, ты в after_script что то добавляешь?
Антон
да в dind меня все устраивает кроме времени билда, и еще очень мало примеров , как тестировать php проекты, и что делать, если тесты надо проводить внутри репозитория на базе контейнеров
Alexander
я сделал отдельную таску cleanup и в ней удаляю всё что создалось - data volume с артефактами сборки и image который создавался, чтобы в нём тесты и сборку гонять
Igor
Quay.io
там же тот же принцип что и hub.docker.com? я хотел решение, которое можно развернут на своем сервере)
Sergey
их всем можно развернуть на своём сервере
Anonymous
Веб морд к нему есть несколько. Но они не нужны
Sergey
и jfrog и quay и gitlab, только gitlab бесплатный
Антон
я сделал отдельную таску cleanup и в ней удаляю всё что создалось - data volume с артефактами сборки и image который создавался, чтобы в нём тесты и сборку гонять
да, но ты это добавляешь в .gitlab-ci.yml и что получиться, если 2 билда параллельно идут и 1 завершился он выполняет этот таск и убивает gitlab-runners? Так же будет конфликтовать с параллельными билдами, или ты по каким то фильтрам или командам определяешь какие тебе образы удалить?
Alexander
посмотри статью мою https://about.gitlab.com/2016/08/11/building-an-elixir-release-into-docker-image-using-gitlab-ci-part-1/, там всё это есть
Антон
@spscream я просто смотрел команды по удалению этих образов и контейнеров и они будут конфликтовать с параллельными билдами
Alexander
я создаю под каждый билд свой образ и свой дата-вольюм
Антон
Igor
ок, спасибо. В первую очередь посмотрю гитлаб)