Рубрика «docker» - 51

Одна из проблем, с которыми приходится столкиваться, занимаясь настройкой окружения для разработчиков, с использованием Docker и Docker-compose, это вопрос о том, как сводить вместе несколько различных проектов. При условии, что все проекты, конечно же, имеют docker-compose.yml файл.

Docker compose и объединение проектов с помощью mixer-a - 1

Причин, по которым становится необходимо делать это, может быть несколько:

  • Разработка низко связанных компонентов огромной системы. Где каждый проект, по сути, может являться отдельным самостоятельным приложением
  • Подключение отдельных компонентов для тестирования. Вынесение mock-сервисов и тестов в отдельные контейнеры со своей логикой линковки и взаимодействия
  • Внешнии, по отношению к проекту, системы, которые тем не менее 'живут' в docker среде

Читать полностью »

350+ полезных ресурсов, книг и инструментов для работы с Docker - 1

В нашем блоге мы пишем о развитии облачного сервиса 1cloud, но и о перспективных технологиях. Одной из наиболее активно обсуждаемых тем ушедшего года стала «революция контейнеров», одним из главных действующих лиц которой, безусловно, является Docker. Поэтому сегодня мы представляем вашему вниманию перевод подборки из более чем 350 полезных ресурсов, книг и инструментов для работы с этой технологией, которые собраны в этом репозитории на GitHub.Читать полностью »

Данная статья появилась с целью обобщить довольно длительные попытки собрать удобное окружение для работы над проектами. Несомненно, существует множество сервисов готовых предоставить схожую функциональность, но их использование не всегда удобно и по различным причинам, может быть неприемлемо. Если возникла такая ситуация, надеюсь, представленная в статье конфигурация окажется полезной.

Окружение разработки: Redmine + Git + ownCloud - 1

Сценарий использования данной связки, можно кратко описать следующим образом:

  • Файлы проекта хранятся в Git репозитории;
  • Репозиторий содержит настройки, исходники и другие файлы проекта, наличие которых удобно и допустимо в коллективном репозитории;
  • В корне расположена директория cloud, исключенная в .gitignore, в которую через WebDAV монтируется ownCloud папка, для остальных файлов;
  • Содержимое Git репозитория отслеживается в системе управления проектами Redmine.

План развертывания системы включает настройку следующих сервисов:

  1. OpenLDAP — единая учётная запись для всех сервисов;
  2. Redmine — запуск в Docker контейнере, создание и привязка Git репозитория, LDAP аутентификация;
  3. NGINX — доступ к Git репозиторию через HTTPS и LDAP аутентификация;
  4. ownCloud — LDAP аутентификация и монтирование папки через davfs2.

Читать полностью »

За эти годы я стал свидетелем того, как все больше и больше людей поддерживают манифест 12 Factor App и начинают реализовывать положения, описанные там. Это привело к появлению приложений, которые были значительно упрощены в развертывании и управлении. Однако примеры практического применения этих 12 факторов были довольно редким явлением на просторах сети Интернет.
12 Fractured Apps и Docker - 1

За время работы с Docker, преимущества 12 Factor App (12FA) стали для меня более ощутимыми. Например, 12FA рекомендует, чтобы логирование было настроено для стандартного вывода и обрабатывалось в качестве общего потока событий. Вы когда-нибудь использовали команду docker logs? Это и есть 12FA в действии!Читать полностью »

В современном мире, когда облачные технологии выходят на первое место, бизнес-индустрия особенно полагается на приложения, которые будут способствовать развитию инноваций и продуктивности. С развитием облака, контейнеры становятся привлекательным способом для разработчиков быстро и эффективно создавать и разворачивать приложения на нужной для бизнеса скорости. Предлагая разработчиками и IT-профессионалам возможность развернуть приложения с рабочей станции на сервер в считанные секунды, контейнеры переносят разработку приложений на совершенно новый уровень.

Из-за стремления разработчиков использовать возможности контейнеров для более широкого набора приложений возникают новые требования. Например, для корпоративных систем или же для размещенных сред могут понадобиться повышенные уровни доверия. Кроме того, разработчики часто разворачивают приложения в смешанных средах, где они могут не иметь возможности контролировать платформу, на которой размещено приложение. Виртуализация исторически предоставляла значительный уровень изоляции, который позволял такие сценарии, но сейчас существуют возможности объединения эффективности и плотности модели контейнера с правильными уровнем изоляции.

Microsoft представляет новые контейнерные технологии для следующего поколения облака - 1
Читать полностью »

В этом обзоре мы поговорим про бесплатные курсы виртуальной академии Microsoft MVA, которые будут полезны как профессиональным разработчикам программного обеспечения и ИТ-про, так и новичкам. Некоторые курсы предлагают бесплатную подготовку к официальным сертификационным экзаменам. Обратите внимание, что видео-плеер на сайте для ряда курсов, которые созданы на английском языке, содержит возможность включить русские субтитры.

В этом выпуске бесплатные курсы по технологиям: HTML5/JS/CSS, Docker, Azure, Chef, Redis, MongoDB, разработке игр, приложений Windows, управлению инфраструктурой и Office 365.

Хит! Новичкам. Love2Code: Программирование для девушек и не только

Проект Love2Code.ru. Есть мнение, что программирование – это удел суровых мужчин с математическим образованием, необщительных и недружелюбных. Этим курсом мы пытаемся развеять этот миф и показать, что программирование – это увлекательное творческое занятие, доступное для всех желающих! Более того, главная цель нашего курса – что бы полюбили программирование, и смогли с его помощью решать практические задачи.

30 новых бесплатных курсов виртуальной академии Microsoft Virtual Academy, апрель 2015 - 1

Курс построен вокруг создания мобильных приложений – на примере простых приложений мы в простой и доступной форме рассказываем о важных понятиях программирования: переменные, циклы, функции… И каждый раз, узнавая новое понятие, добавляем что-то новое в наше приложение.

Помимо собственно теоретических лекций и практических примеров, мы также включили в курс видеоролики от различных успешных женщин, так или иначе связанных с IT. От них вы услышите, почему важно программировать, как это может изменить вашу жизнь, и насколько приятно заниматься этим самым творческим занятием!
Читать полностью »

Процесс разработки и тестирования демонов - 1 Сегодня мы поговорим о «низкоуровневых» кирпичиках нашего проекта — о демонах.

Определение из Википедии:

«де́мон — компьютерная программа в системах класса UNIX, запускаемая самой системой и работающая в фоновом режиме без прямого взаимодействия с пользователем».

Хоть это и не очевидно, но практически весь функционал сайта во многом зависит от работы этих программ. Игра в “Знакомства”, поиск новых лиц, центр внимания, обмен сообщениями, статусы, геолокация и многие другие вещи завязаны на тот или иной демон. Так что можно сказать, что они помогают людям по всему миру общаться и находить новые знакомства. Одновременно на сайте могут работать и взаимодействовать между собой несколько десятков демонов. Их корректное поведение является очень важной задачей, поэтому мы решили покрывать основной функционал демонов автотестами.
В Badoo этим занимается специальный отдел. И сегодня мы расскажем о том, как у нас проходит процесс разработки этой критически важной части сайта и выполнение автотестов. Эта область достаточно специфичная и материала много, поэтому мы подготовили структурированный обзор всего процесса, чтобы разобраться в нем смогли все, кому интересно.
В качестве VCS у нас используется Git, для непрерывной интеграции — TeamCity, а в роли баг-трекера выступает JIRA. Для тестирования мы используем PHPUnit. Разработка демонов, как и остального сайта, ведется по принципу «фича ― ветка». Для того чтобы понять, что это, мы рассмотрим проекции нашего flow на Git и на JIRA.
Читать полностью »

На волне популярности Docker на Хабре, после участия в некоторых дискуссиях в комментариях относительно Docker, и в связи с недавней необходимостью настроить централизованную авторизацию для кластера Linux машин, я решил написать небольшую заметку. Здесь будет показан яркий, на мой взгляд, пример применения Docker'a для небольшой частной задачи.

Вот так, кстати, выглядит FreeIPA WebUI (официальное демо, временное демо у меня на сервере (подробности в комментариях)) (кликабельно):

Система централизованного управления авторизацией пользователей на FreeIPA в Docker - 1 Система централизованного управления авторизацией пользователей на FreeIPA в Docker - 2

Какие задачи я хотел решить при помощи FreeIPA:

  1. Иметь возможность создавать/изменять/удалять акаунты пользователей централизовано, а не на каждом отдельном сервере
  2. Централизованные плавила для sudo
  3. В последствии мы подключим к этой системе ещё и VPN авторизацию, а потом может и другие внутриофисные сервисы

Да, скорее всего FreeIPA в нашем случае это выстрел пушкой по воробьям, но с другой стороны — альтернатив что-то не видно. Я рассматривал такие варианты: NIS (по-моему он уже давно должен отправиться на отдых), OpenLDAP +… +… (не очень дружелюбно, да и FreeIPA в итоге под собой имеет LDAP, только нам не приходится с ним иметь дело напрямую), тут перечень заканчивается, я не нашёл ничего больше.

Читать полностью »

Docker и костыли в продакшене - 1

Навеяно публикацией «Понимая Docker», небольшой пример костылей вокруг докера для запуска веб-приложений.

Я пробовал разные технологии обвязок, но некоторые (fig) выглядят несколько корявыми для применения, а некоторые (kubernetis, mesos) — слишком абстрактными и сложными.

В моей конфигурации есть несколько машин, на машинах выполняются разнообразные веб-приложения, некоторые из них требуют наличия локального хранилища. В качестве базовой схемы примем конфигурацию из двух фронтендов и одного бекенда, ceph (ФС) обеспечивает роуминг данных для бекенда там, где это необходимо.
Читать полностью »

Уже несколько месяцев использую docker для структуризации процесса разработки/доставки веб-проектов. Предлагаю читателям «Хабрахабра» перевод вводной статьи о docker — «Understanding docker».

Что такое докер?

Докер — это открытая платформа для разработки, доставки и эксплуатации приложений. Docker разработан для более быстрого выкладывания ваших приложений. С помощью docker вы можете отделить ваше приложение от вашей инфраструктуры и обращаться с инфраструктурой как управляемым приложением. Docker помогает выкладывать ваш код быстрее, быстрее тестировать, быстрее выкладывать приложения и уменьшить время между написанием кода и запуска кода. Docker делает это с помощью легковесной платформы контейнерной виртуализации, используя процессы и утилиты, которые помогают управлять и выкладывать ваши приложения.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js