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

image

Пришло время разложить информацию о контейнерах «по полочкам» в голове в статье и формализовать подход к построению образов Docker. Еще при первом знакомстве с Docker все запущенные контейнеры напоминали костыли и велосипеды избыточные наборы файлов, библиотек, поверх которых запускались процессы. Что бы такого не было, хотелось объединить дублирующие слои в один, но в то же время предоставить каждому исполняемому файлу свой контейнер. Так постепенно начал формироваться свой подход к построению образов. Но чем же плохи «костыли и велосипеды»? Ответ один – они могут появиться в конечном продукте.
Читать полностью »

Мнение инженера: Почему не нужно всегда и везде использовать Docker - 1

В нашем блоге мы много пишем о развитии облачного сервиса 1cloud и перспективных технологиях, вроде Docker. Контейнеры за последний год стали настоящим хитом, однако такая популярность имеет и обратную сторону. Инженер Ник Барретт (Nick Barret) в своем блоге задался вопросом, почему сейчас контейнеры Docker начинают использовать даже для решения не подходщяих для этого инструмента задач?

Баррет говорит, что обожает Docker. По собственному признанию инженера, он потратил много времени, чтобы освоить Docker и Kubernetes. В сочетании со stateless-контейнерами они обеспечивают фантастическую масштабируемость, сервисное раскрытие и почти мгновенное развертывание приложений (кроме создания первичного образа).

Но сегодня контейнеры Docker используют для всего подряд, и, по словам Барретта, это приводит его в замешательство.Читать полностью »

Docker: Окружение для тестирования - 1

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

Одна из проблем, с которыми приходится столкиваться, занимаясь настройкой окружения для разработчиков, с использованием 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.
Читать полностью »


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