Category Archives: Docker

CircleCI: обзор Continuous Integration сервиса

31 May 2018
 

 CircleCI – система для сборки и деплоя, аналогичная Travis CI (Github), и работающая по тем же принципам – к CircleCI-аккаунту подключаются репозитории (в отличи от Travis – к CircleCI можно добавить любой репозиторий, в т.ч. Bitbucket), билды выполняются в контейнерах или вирутальных машинах, уведомления о результатах билда можно получить на почту или через интеграцию со Slack/HipChat etc, а… Read More »

Jenkins: запуск Jenkins в Docker и подключение SSH Slave

8 May 2018
 

 Имеется две EC2, на одной будет запущен Jenkins, который будет мастером, второй EC2 надо настроить и подключить как slave для Jenkins. Для этого – на второй машине потребуется Java, настроенная SSH авторизация по ключам, и отдельный пользователь. На Jenkins потребуется SSH Slaves Plugin. Начинаем со слейва. Настройка Jenkins Unix slave Установка Java Подключаемся на слейв, устанавливаем… Read More »

Prometehus: обзор – federation, мониторинг Docker Swarm и настройки Alertmanager

9 April 2018
 

 Задача – настроить Proof of Concept мониторинга, используя Prometheus, что бы показать основные его возможности. Используется Prometheus 2.2.1 (между 1.* и 2.* существенные различия в синтаксисе). Чего не добавлено в этот пост – это работа с Prometheus API, и хотелось подробнее остановиться на Grafana и её шаблонах, но уже отдельным постом. Кроме того, в самом тексте… Read More »

Docker: PHP Composer и multi-stage билды Docker образов

2 April 2018
 

 Задача – подготовить Docker образ с PHP Composer. Ниже рассмотрим сначала сам Composer (от PHP далёк, и с Composer дела раньше не имел, хотя сам PHP потрогать довелось), потом – пример сборки Docker контейнера и его использование под разными пользователями. Результат можно посмотреть в Github. PHP Composer Composer предназначен для установки общих библиотек при создании… Read More »

What is: Linux namespaces, примеры PID и Network namespaces

10 March 2018
 

 Данный пост обединяет в себе два других замечательных (на мой взгляд) поста на тему Namespaces в Linux – A Tutorial for Isolating Your System with Linux Namespaces и Introduction to Linux namespaces – Part 1: UTS, с небольшими дополнениями и изменениями. Тем не менее – крайне рекомендую к прочтению оба поста выше, и ознакомиться с другими ссылками из… Read More »

Docker: Swarm – REPLICAS 0/1

28 December 2017
 

 Имеется приложение, в Docker Swarm. Окружение работает в MS Azure, четыре виртуальных машины/ноды – один Swarm-менеджер и три воркера. После очередного деплоя – не появляется ни одной реплики: А все сервисы висят в статусе Pending: Проверяем статус воркеров: Все в Drain – WTF? В Drain должен быть только менеджер, а workers – Active. Решение Проверяем… Read More »

Docker: запуск Jenkins в Docker и Docker private registry

23 November 2017
 

 Задача – развернуть Jenkins и Docker Private registry в Китае, на AWS. Аналогичные посты – тут>>> и тут>>>, только в этом посте всё собрано в одно целое и упорядочено. К EC2 будут подключены два EBS – один с данными Jenkins, второй – с данными Docker. Для Docker registry в качестве хранилища используем AWS S3. Далее в посте: создадим… Read More »

Docker: save и load – скопировать образ между хостами

22 November 2017
 

 Имеется Docker контейнер с Jenkins на EC2 в Китае, необходимо обновить версию Jenkins. Что бы не тянуть весь образ напрямую в Китай (скорость иногда падала до 3-4 кб/с) – можно скачать его на рабочую машину в Киеве, а потом скопировать архив в Китай с помощью scp. Используем docker save для создания архива с образом и docker… Read More »

Docker: использование configs и secrets в Swarm

15 November 2017
 

 Начиная с версии 17.06 – у Docker Swarm появилась поддержка новой концепции хранения и подключения файлов настроек для сервисов – configs. А ещё ранее, с версии 1.13 – secrets, для хранения и передачи зашифрованных данных между менеджерами и нодами. Ниже – описание и применение secrets и configs в Docker Swarm. Подготовка VirtualBox Создаём машинку в VirtualBox… Read More »

Ansible: роли для Docker Compose, Prometheus и node_exporter

2 October 2017
 

 Перебирал несколько ролей в Ansible Galaxy для установки и настройки Prometheus – но в конце-концов решил делать всё по-своему. Будем использовать Docker Compose, который будет запускать сам Prometheus и node_exporter. Роль Docker Compose Начнём с добавления роли docker-compose. В корне репозитория создаём каталог roles/docker-compose/tasks: Создаём файл roles/docker-compose/tasks/main.yml: – name: Installing docker compose pip: name: docker-compose… Read More »