Docker и Amazon вышли на новый этап партнерства. Компании завершили двустороннюю интеграцию инструментов разработчика: Elastic Container Service (ECS) и ECS on AWS Fargate A293; со стороны Amazon; Compose и Desktop developer – со стороны Docker.
Чтобы работать стало проще
Разработчики часто жаловались, что создание рабочего окружения, которое позволило бы взять файлы Docker Compose и запустить их в ECS, каждый раз становится вызовом. После интеграции инструментов этот процесс упростится для обеих сторон. Разработчикам будет куда проще переключаться между локальным запуском контейнеров и их работой в среде ECS.
Интеграция облегчит развертывание существующих и создание новых Docker-контейнеров и, соответственно, контейнеризованных приложений. В результате разработчики смогут сфокусироваться на создании ценности для пользователей и будут тратить меньше времени на запуск контейнера для тестирования в локальной среде и на его развертывание в облаке.
Что такое Docker
Docker – это программное обеспечение, которое позволяет автоматизировать развертывание приложений в средах поддерживающих контейнеры.
Контейнер – «упаковка», куда «кладут» приложение вместе с его окружением и всеми зависимостями. Затем контейнер запускают в Docker на другом ПК или сервере, в иных системах с поддержкой контейнирования, а также на любой Linux-системе с поддержкой cgroups в ядре.
Изначально Docker создавался для Linux и был доступен в сборках для ARM и x86-64. С 2015 года выпускаются версии для Windows.
В Docker используется файловая система Aufs, которая поддерживает каскадно-объединенный принцип монтирования. Готовые контейнеры используют образ базовой ОС, а изменения в них сохраняются в отдельной области. Это помогает экономить место на диске и размещать больше контейнеров локально и в облаках.
Также в состав Docker входит демон – выполняет функции сервера контейнера, и клиентские инструменты для управления контейнерами и образами из командной строки. В API Docker есть все необходимое для программного управления контейнерами в формате REST (Representational State Transfer — передача состояния представления).
Пакетный менеджер Docker Compose дает возможность запуска многоконтейнерых приложений. Файлы конфигурации для него пишутся на языке разметки YAML.
В чем преимущества контейнеров
Контейнер позволяет передать готовый программный продукт и не тратить время и силы на настройку среды у заказчика. В контейнере уже есть все необходимые зависимости и правильное рабочее окружение.
Контейнеры спасают, когда нужно быстро поднять много одинаковых или аналогичных серверов. Делать это вручную долго, и из-за ошибок, допущенных в процессе, системы могут работать некорректно.
Контейнеры можно использовать повторно. Это удобно при создании сходных продуктов, которые построены на одних и тех же технологиях. Достаточно развернуть копию контейнера и запустить в нем нужный продукт.
Работа контейнера похожа на запуск виртуальной машине. Но при этом все процессы Docker могут работать на одном физическом host-сервере и совместно с другими процессами использовать доступные ресурсы.
Фактически контейнер – это контролируемая среда, которая позволяет эффективно управлять серверными ресурсами. С контейнерами вы избавляетесь от vendor lock-in – не привязываетесь к решениям конкретных производителей и разработчиков.
С Docker удобно запускать тестовые сервера и обновлять установленные версии продуктов. Он сокращает время на выполнение сопутствующих процессов и помогает быстрее поставлять на рынок готовые решения.
Видео с процессом создания рабочего окружения до интеграции инструментов