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

Deploy Exilir Applications

Данная статья участвует в конкурсе от Wunsh.ru — русскоязычное сообщество Elixir. Практики и просто сочувствующие — присоединяйтесь!

В статье рассмотрен процесс настройки приложения для релиза на удалённый сервер. Для такого не лёгкого дела в мире Elixir существует два хороших проекта, первый это Distillery, которой делает билд приложения и второй это Edeliver, которой позволяет осуществлять горячую замену кода. Ниже приведены базовые инструкции по использованию этих двух библиотек на примере простейшего Elixir-приложения. А также статья расскажет каким образом можно улучшить деплой благодаря использованию docker контейнеров.

Distillery

Distillery предназначен для автоматизации генерации релизов Elixir проектов! Является наследником Exrm от того же автора. Очень прост в использовании.

Первым делом необходимо добавить distillery в зависимости проекта. А после выполнить mix deps.get.

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

Использование GlusterFS с кластером Docker swarm - 1

В этой статье я описал создание в AWS состоящего из трех нод кластера Docker Swarm и подключение к нему общего для всех нод реплицируемого тома GlusterFS.

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

Настраиваем приватный Docker репозиторий - 1 Docker одна из горячих тем в разработке. Большинство новых проектов строится именно на Docker. Как минимум, он отлично зарекомендовал себя для распространения ПО, например, наша система поиска по документам Ambar устанавливается с помощью docker-compose.

В начале работы над Ambar мы использовали публичный docker репозиторий, но с ростом проекта и появлением enterprise версии мы задумались над созданием собственного приватного репозитория. В данной статье мы поделимся своим опытом развертывания селф-хостед репозитория: пошагово опишем весь процесс, попытаемся обойти все подводные камни.

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

Повышаем безопасность контейнеров Docker - 1

— Сударь, каким образом вас взломали?
— Не образом, а контейнером.
Старинный анекдот

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

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

image

→ Часть 1

В первой части мы подготовили нашу операционную систему для использования Docker контейнеров.

После того как мы выполнили перезагрузку, мы увидим приглашения к авторизации, но с консоли сервера сделать это будет не возможно, по той причине что авторизация в системе возможна лишь по ключу. А по умолчанию пользователь core не имеет пароля. Конечно его можно установить используя команду:

sudo passwd core

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

image

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

Docker swarm mode (режим роя) - 1
На хабре уже писали про Docker swarm mode (режим роя), который является новой фичей версии 1.12. Данная опция внесла небольшую путаницу в головы тех, кто знаком с отдельно стоящей реализацией Docker Swarm имевшей распространение ранее и не отличавшейся удобством настройки и использования. Однако, после добавления Swarm в коробку с Docker все стало намного проще, очевиднее и функциональнее.

Подробнее о том, как устроен новый кластер Docker контейнеров с точки зрения пользователя, а также о простом и удобном способе разворачивания сервисов Docker на произвольной инфраструктуре далее под катом.
Читать полностью »

Коротко о боте: получает список YouTube-каналов пользователя и уведомляет о новых видео с возможностью напомнить о нем позже.

В статье расскажу об особенностях написания этого бота и взаимодействия с Google API. Я люблю краткость, поэтому в статье будет мало «воды».
На какие вопросы ответит статья:

  • Где взять внешний адрес сайта для Webhook
  • Где взять HTTPS-сертификат как его использовать, чтобы Telegram ему доверял
  • Как передавать данные и обрабатывать нажатия на Inline-кнопки
  • Как получить вечный OAuth токен для Google API
  • Как передать данные пользователя через OAuth callback url
  • Как получить бесплатный домен 3 уровня

Стэк:

  1. Back-end: Node.js + Express.js
  2. БД: Mongo.js + mongoose
  3. Пакетный менеджер: Yarn (он действительно быстрый)
  4. Telegram-бот фреймворк: Telegraf
  5. Продакшн: Docker + Docker Compose + Vscale.io

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

Мне хотелось развернуть систему непрерывной интеграции, кросс компилирующую CMake проект написанный на c++ с OpenGL на Raspberry PI. Заодно я хотел посмотреть, не появились ли удобные серверы автоматической сборки, не содержащие в себе питона и не потребляющие сотни мегабайт ram в простое. Одна из целей написания статьи — узнать, не прошёл ли я мимо более хорошего или простого решения :)

TLDR: drone классный, позволяет добавить простенький файл в корень репозитория на github/bitbucket — и получить автоматические билды/тесты/деплой. Прямо как в Travis, но self-hosted.

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

Добрый день Хабр. На написание этой статьи меня сподвигло закрытие довольно известных в UA-IX ресурсов ex.ua и fs.to. Поскольку доблестные правоохранители не озаботились предоставлением какой-либо достойной альтернативы, было принято решение взять процесс в свои руки, к тому же давно хотелось организовать домашнее хранилище/файлопомойку не зависящее от внешних провайдеров. В процессе реализации было перепробовано довольно много разных систем, но в итоге все выстроилось именно так, а не иначе. Мнение субъективное, реализация доступная. Сама статья рассчитана на новичков которым необходимо просто работающее решение, или на тех кто задумался о своем медиасервере, но еще не определился с реализацией.

Итак решение принято, начнем.
Читать полностью »


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