Что такое Docker?

Docker позволяет быстро выполнять сборку, отлаживать и развертывать приложения

Docker-Logo_Horizontel_279x131

Docker – это программная платформа для быстрой сборки, отладки и развертывания приложений. Docker упаковывает ПО в стандартизованные блоки, которые называются контейнерами. Каждый контейнер включает все необходимое для работы приложения: библиотеки, системные инструменты, код и среду исполнения. Благодаря Docker пользователи могут быстро развертывать и масштабировать свои приложения в любой среде и сохранять уверенность в том, что код будет работать.

Использование Docker на AWS дает разработчикам и системным администраторам надежный и экономичный способ сборки, доставки и запуска распределенных приложений любого масштаба. AWS поддерживает обе модели лицензирования Docker: лицензию с открытым кодом Docker Community Edition (CE) и лицензию Docker Enterprise Edition (EE) на основе подписки.

Как работает Docker

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

Такие сервисы AWS, как AWS Fargate, Amazon ECSAmazon EKS и AWS Batch, упрощают работу с контейнерами Docker, а также управление ими в любом масштабе.

monolith_2-VM-vs-Containers

Почему следует использовать Docker

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

100x100_benefit_deployment1

Быстрая доставка программ

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

100x100_benefit_tools

Стандартизация операций

Доставка приложений в небольших контейнерах упрощает процесс развертывания, обнаружения проблем и отката к прошлым версиям для их устранения.

100x100_benefit_migration

Эффективное перемещение

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

100x100_benefit_lowcost-affordable

Экономия

Контейнеры Docker позволяют исполнять на каждом сервере больше кода, повышая эффективность использования ресурсов и сокращая расходы.

Когда рекомендуется использовать Docker

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

100x100_benefit_ccontainers

Микросервисы

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

100x100_benefit_delivery

Непрерывная интеграция и доставка

Ускорьте доставку приложений за счет стандартизации рабочих сред и устранения расхождений между языковыми стеками и версиями.

AWS_Benefit Icon_AutomatedOperations

Обработка данных

Обработки больших данных как сервис. Объедините пакеты данных и аналитики в портативные контейнеры, запуск которых не потребует специальных технических навыков.

100x100_benefit_get-started-2

Контейнер как сервис

Создавайте и поставляйте распределенные приложения, содержание и инфраструктура которых программно управляема и защищена.

Вопросы и ответы по Docker

Вопрос: Можно ли использовать Docker бесплатно?

Docker Community Edition (CE) – бесплатная общедоступная версия. Это версия Docker с открытым исходным кодом, которая работает на разнообразных платформах, включая Windows, Mac и Linux. Docker CE можно установить на локальный компьютер или виртуальный инстанс Amazon EC2 самостоятельно или воспользоваться готовым образом Amazon AMI с оптимизацией для ECS и приступить к работе немедленно.

Версия Docker Enterprise Edition (EE) предусматривает дополнительные возможности управления рабочими процессами и обеспечения их безопасности; она доступна на условиях платной подписки в AWS Marketplace.

Вопрос: Для чего можно использовать Docker?

С помощью Docker можно быстро развертывать и масштабировать приложения в любой среде, не сомневаясь в том, что код будет работать. Это становится возможным благодаря тому, что Docker упаковывает ПО в стандартизованные блоки, называемые контейнерами. Каждый контейнер включает все необходимое для работы приложения: библиотеки, системные инструменты, код и среду исполнения.

Вопрос: Что такое образ Docker?

Образ Docker – это доступный только для чтения шаблон, который задает настройки контейнера. Образ содержит исполняемый код вместе с определениями любых библиотек и зависимостей, которые могут понадобиться для его работы. Контейнер Docker представляет собой запущенный образ Docker. AWS предоставляет реестр образов Amazon Elastic Container Registry (ECR) для хранения и быстрого извлечения образов Docker.

Вопрос: В чем разница между Docker Swarm, Kubernetes и Amazon ECS?

Когда возникает необходимость в запуске большого количества контейнеров Docker, такие инструменты оркестрации, как Docker Swarm, Kubernetes и Amazon Elastic Container Service (ECS) позволяют запускать и останавливать тысячи (или миллионы) контейнеров, а также осуществлять мониторинг их работы.

Docker Swarm – это программное обеспечение для оркестрации контейнеров с возможностью самостоятельного запуска и управления. Kubernetes –это популярное, поддерживаемое сообществом программное обеспечение с открытым исходным кодом. Оно предназначено для оркестрации контейнеров и также подходит для самостоятельного запуска и управления. Сервис Amazon EKS упрощает запуск Kubernetes на платформе AWS, предоставляя панель для управления контейнерами. Amazon ECS представляет собой полностью управляемый сервис AWS, который упрощает запуск контейнеров в облаке AWS. Он глубоко интегрирован с другими сервисами AWS, такими как VPC, роли IAM, а также сервисы балансировки нагрузки и обнаружения сервисов.

Вопрос: В чем разница между Docker и виртуальной машиной?

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

monolith_2-VM-vs-Containers

Запуск Docker на AWS

В AWS обеспечена поддержка решений Docker с открытым исходным кодом и коммерческого уровня. Существует несколько способов запуска контейнеров на AWS, в том числе с помощью Amazon Elastic Container Service (ECS) – высокомасштабируемого и высокопроизводительного сервиса управления контейнерами. AWS Fargate – это технология для Amazon ECS, которая позволяет запускать контейнеры в рабочей среде без необходимости развертывания соответствующей инфраструктуры или управления ею.Amazon Elastic Container Service for Kubernetes (EKS) упрощает запуск Kubernetes на платформе AWS. AWS Fargate – это технология для Amazon ECS, которая позволяет запускать контейнеры без необходимости выделения серверов или управления ими. Amazon Elastic Container Registry (ECR) – это высокодоступный и защищенный частный репозиторий контейнеров, который упрощает хранение образов контейнеров Docker, а также управление ими. Сервис шифрует и сжимает образы при хранении, обеспечивая их защиту и быстрое извлечение. AWS Batch позволяет запускать рабочие нагрузки пакетной обработки на основе контейнеров Docker с широкими возможностями масштабирования.

new_product_ecs

Amazon ECS

Amazon ECS – это высокопроизводительный сервис оркестрации для запуска контейнеров Docker в облаке AWS с широкими возможностями масштабирования.

new_product_fargate

AWS Fargate

AWS Fargate – это технология для Amazon ECS, которая позволяет запускать контейнеры Docker в рабочей среде без необходимости развертывания соответствующей инфраструктуры или управления ею.

new_product_eks

Amazon EKS

Amazon EKS упрощает запуск Kubernetes на AWS без необходимости установки и обслуживания ведущих узлов Kubernetes.  

new_product_ecr

Amazon ECR

Amazon ECR – это высокодоступный защищенный частный репозиторий, который упрощает хранение образов контейнеров Docker и управление ими.

new_product_batch

AWS Batch

AWS Batch позволяет разработчикам, ученым и техническим специалистам просто и эффективно запускать пакетные вычислительные задачи с помощью контейнеров на платформе AWS.

new_product_docker_cleanwhale

Версия Docker EE предоставляет платформу для корпоративного управления контейнерами и обеспечения их безопасности с оптимизацией для сред Amazon EC2.

Docker EE доступна в форме подписки в AWS Marketplace. Уже есть лицензия Docker EE? Запуск версии Docker EE Standard на AWS.

Начать работу с Docker

Приведенные ниже шаги позволят приступить к использованию Docker на AWS за считаные минуты.
icon1
Зарегистрируйте аккаунт AWS
Получите мгновенный доступ к уровню бесплатного пользования AWS.
icon2
Выполните развертывание контейнеров Docker за 10 минут
Изучите основы Docker с помощью этого простого руководства

Подробнее о контейнерах

Перейти на страницу контейнеров
Готовы приступить к разработке?
Развертывание контейнеров Docker
Есть вопросы?
Свяжитесь с нами