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

Представляем пятый выпуск подкаста о технологиях, процессах, инфраструктуре и людях в IT-компаниях. Сегодня в гостях у “CTOcast” — Джин Бармаш (технический директор компании Merchantry, сооснователь митапа CTO School) и Евгений Бабкин (руководитель группы разработки в Merchantry).Читать полностью »

Пока патентные войны остаются скрытой угрозой для экосистемы OpenStack, давайте поговорим о технологии, позволяющей разворачивать OpenStack практически в один клик. Название этого проекта многократно встречалось в постах нашего блога, но не было ни одного текста, посвященного именно Fuel. Между тем — именно этот проект существенно упростил процедуру развертывания OpenStack и сделал менее трудоемким процесс дальнейшего управления облаком. Безусловно, можно действовать по старинке. Использование Fuel не является обязательным для работы с OpenStack. Однако мы считаем, что если театр начинается с вешалки, то OpenStack начинается с Fuel. По крайней мере — Mirantis OpenStack (MOS).Читать полностью »

Как жить с Docker, или почему лучше с ним, чем без него? - 1
Эта статья предназначена для тех, кто уже знает про Docker, знает для чего он. А вот что делать с этим дальше не знает. Статья носит рекомендательный характер и не посягает на звание «лучшая практика».

Итак, возможно вы прошли docker tutorial, докер кажется простым и полезным, но вы пока не знаете, как он может вам помочь с вашими проектами.

Обычно с деплоем возникает три проблемы:

  1. Как мне доставить код на сервера?
  2. Как мне запустить код на серверах?
  3. Как мне обеспечить одинаковость окружения, в котором запускается и работает мой код?

Как с этим поможет Docker под катом. Читать полностью »

Наш CTO, Миша Voldar Корнеев, познакомился с питоном в 34 года. В смысле, с живым:

image
Знакомство питона с питонистом

C Python’ом цифровым он познакомился еще лет шесть назад, и с тех пор все, к чему он прикасается, становится чуть более высокоуровневым.

Тем не менее, Миша до сих пор продолжает открывать для себя много нового, потому что ходит на тусовки Moscow Django Meetup. А ходит, потому что их соорганизует.

Но 10 февраля его не будет с нами, потому что его сыну — моему племяннику — исполняется три годика.

Так что #tceh решил заранее рассказать Мише, что будет на 25-м московском Django Meetup, который пройдет у нас.

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

Цель данной статьи — показать возможный подход для построения микросервисов с использованием Scala, RESTful JSON, Spray и Akka. В качестве базы данных мы будем использовать MongoDB. В результате нашей работы мы упакуем наш проект в Docker-контейнер, а Vagrant и Ansible позволит нам управлять конфигурацией приложения.

В этой статье вы не найдете подробностей о языке Scala и других технологиях, которые будут использоваться в проекте. В ней вы не найдете руководства, которое ответит на все ваши вопросы. Цель статьи — показать технику, которую можно использовать при разработке микросервисов. На самом деле, большая часть этой статьи не завязана на конкретной технологии. Docker имеет более широкую сферу использования, нежели только микросервисы. Ansible позволяют быстро развернуть любое требуемое окружение, а Vagrant — отличный инструмент для создания виртуальных машин.
Читать полностью »

Привет!
Мы в Хекслете активно используем Докер как для запуска самого приложения и сопутствующих серверов, так и для запуска пользовательского кода в практических упражнениях по программированию. Без этих легковесных контейнеров нам было бы в разы сложнее справиться с этими задачами. Докер –замечательная технология, но иногда возникают неожиданные проблемы. Одна из таких проблем (и ее решение) описана в блоге Phusion (это создатели Phusion Passenger), сегодня мы публикуем ее перевод.

Примерно год назад, когда Докер был в версии 0.6, мы первыми представили Baseimage-docker. Это минимальный образ Ubuntu, модифицированный специально для Докера. Люди могут пуллить этот базовый образ из Docker Registry и использовать его как основу для своих образов.

Мы были ранними пользователям Докера, используя его для CI и для создания рабочего окружения задолго до выхода версии 1.0. Базовый образ мы сделали чтобы решить проблемы, специфичные для принципов работы Докера. Например, Докер не запускает процессы под специальным процессом init, который бы правильно обрабатывал дочерние процессы, поэтому возможна такая ситуация, когда зомби-процессы вызывают кучу проблем. Докер также не делает ничего с syslog, поэтому важные сообщения могут быть утеряны. И так далее.

Однако, мы выяснили, что многие люди не понимают проблем, с которыми мы столкнулись. Да, это довольно низкоуровневые системные механизмы Unix, которые понятны далеко не всем. Поэтому в этом посте мы опишем самую главную проблему, которую мы решаем – PID 1 zombie reaping problem.

Проблема PID 1 zombie reaping в Докере - 1
Читать полностью »

Docker в продакшене на Iron.io
Docker в продакшене — чему мы научились, запустив более 300 миллионов контейнеров - 1

Ранее в этом году (прим. 2014 г.), мы приняли решение запускать каждую задачу на IronWorker внутри своего собственного Docker контейнера. С тех пор мы запустили более 300 000 000 программ внутри собственных Docker контейнеров в облаке.

После нескольких месяцев использования, мы хотели бы поделиться с сообществом некоторыми из проблем, с которыми мы столкнулись в построении инфраструктуры, основанной на Docker'e, как мы преодолели их, и почему это стоило того.
Читать полностью »

Когда вы указываете в Dockerfile:

FROM ubuntu

то к вам на машину стягивается официально-поддерживаемый базовый образ Ubuntu (на сегодняшний день это 14.04 LTS). Мне стало интересно, чем образ этот отличается от «настоящей» чистой системы.

В процессе pull можно заметить, что он состоит из 5 слоёв:

docker pull ubuntu

ubuntu:latest: The image you are pulling has been verified
511136ea3c5a: Pull complete
3b363fd9d7da: Downloading 8.641 MB/197.2 MB 3m18s
607c5d1cca71: Download complete
f62feddc05dc: Download complete
8eaa4ff06b53: Download complete

Чтобы понять содержание каждого слоя, можно выполнить команду:

docker history --no-trunc ubuntu > history.txt

либо посмотреть исходный Dockerfile на GitHub. Каждый слой соответствует отдельной строке в Dockerfile:

511136ea3c5a — это отправная точка, пустой образ под названием scratch (строка FROM scratch).

3b363fd9d7da«вливание» официального образа Ubuntu из файла ubuntu-trusty-core-cloudimg-amd64-root.tar.gz
Читать полностью »

Быстрое знакомство с Docker-контейнерами для Django-разработчика - 1
Разработка такого проекта как CloverR подразумевает использование различных сервисов, нетипичных для обычного ноутбука, даже если это ноутбук разработчика. Postgresql, Redis, Celery и так далее. Желание создать комфортную среду разработки и тестирования привело нас к необходимости использование какой-то системы виртуализации/изоляции. Как вариант — некоторое время использовался Vagrant, но это всё-таки ovrerhead и наши поиски оптимального способа привели, на данный момент, к Docker.

Docker — платформа для запуска приложений в изолированных контейнерах. Использование контейнеров в Linux позволяет программному обеспечение быть изолированным от базовой системы. В отличии от Virtualbox, исключаются системные издержки (overhead), необходимые для виртуализации оборудования. Docker может помочь в разработке и развертывании веб-приложений и сервисов. Давайте посмотрим, как это происходит.
Читать полностью »

Создание окружения для веб-разработки на основе Docker - 1Под катом расскажу как я усовершенствовал автоматическое создание и разворачивание окружения для веб-разработки на основе Docker, Fig, DNSMasq и nsenter. По сути, это разворачивание LAMP сервера и запись о нем в DNSMasq, но приоритетами является незасоренность хост-машины ненужным софтом типа web-, db-серверов на хост машине и минимальное количество команд для запуска
Читать полностью »


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