Docker: практическое руководство для начинающих |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2019-04-24 12:10 Перевод первой части статьи «Docker simplified: a hands-on guide for absolute beginners». Возможно, вы только рассматриваете возможность карьеры в DevOps, а может, уже активно ее строите, но в любом случае: если в вашем резюме не обозначен Docker, определенно пришла пора его изучить. Как оказалось, это один из самых нужных навыков для любого DevOps-профессионала. В этом посте я постараюсь как можно более простым языком рассказать, что такое Docker. Итак, что такое Docker? Выражаясь простыми словами, Docker это платформа, облегчающая процесс сборки, запуска, управления и дистрибуции приложений. Все это он делает путем виртуализации операционной системы компьютера, на котором он установлен и запущен. Написан Docker на языке программирования Go, первая его версия была выпущена в 2013 году. В связи с богатством функционала, предлагаемого Docker, он широко применяется в ведущих мировых организациях и университетах (среди них – Visa, PayPal, Корнеллский университет и университет Индианы) для запуска и управления их приложениями. А теперь давайте разберемся, какая проблема стоит перед разработчиками и какое ее решение предлагает Docker Проблема Скажем, у вас есть три различных приложения на Python, которые вы планируете размещать на серверах (это могут быть физические или виртуальные машины). Каждое из этих приложений использует свою версию Python, а также отдельный, специфический набор библиотек и зависимостей. Поскольку мы не можем установить на одной машине разные версии Python, мы не можем и разместить на ней и все три приложения сразу. Решение Давайте посмотрим, как эта проблема решается без применения Docker. При таком сценарии мы можем взять три разных физических машины или одну, но достаточно мощную для размещения трех виртуальных машин. Оба варианта позволят нам установить различные версии Python и пакеты зависимостей на каждой из этих машин. И при любом из этих вариантов расходы, связанные с приобретением и поддержкой «железа», будут довольно высокими. А теперь давайте рассмотрим вариант решения с помощью Docker и разберемся, почему оно более экономичное. Чтобы это понять, нужно вникнуть в то, как именно функционирует Docker. Как это работает Машину, на которой установлен и запущен Docker, обычно называют Docker Host или просто «хост». Чтобы развернуть приложение на хосте, на нем сначала создается логическая сущность для размещения этого приложения. В терминологии Docker эта логическая сущность называется контейнером (Container) или, если быть более точным, контейнером Docker (Docker Container). В контейнере Docker нет никакой установленной и запущенной операционной системы. Но в нем будет виртуальная копия таблицы процессов, сетевых интерфейсов и точек монтирования файловой системы. Все это будет унаследовано от операционной системы хоста, на котором размещен и запущен контейнер. Таким образом, ядро операционной системы хоста разделяется между всеми контейнерами, запущенными на нем. Это позволяет каждому контейнеру быть изолированным от других, размещенных на том же хосте. Т.е., контейнеры с различными требованиями приложений и зависимостями могут запускаться на одном хосте, главное, чтобы у них были одинаковые требования к операционной системе. Короче говоря, вместо виртуализации компонентов «железа», Docker виртуализирует операционную систему хоста, на котором он установлен и запущен. Преимущества и недостатки использования Docker Основные преимущества применения Docker
Недостатки использования Docker
Основные компоненты Docker Движок Docker (Docker Engine) это один из его ключевых компонентов. Он отвечает за функционирование платформы Docker в целом. По своей сути это клиент-серверное приложение, состоящее из трех основных компонентов:
Сервер запускает демон под названием dockerd (Docker Daemon), являющийся просто процессом. Он отвечает за создание и управление образами Docker, контейнерами, сетями томами платформы Docker. REST API определяет, каким образом приложения могут взаимодействовать с сервером и указывает им, как они должны работать. Клиент это ни что иное как интерфейс командной строки, позволяющий пользователям взаимодействовать с Docker при помощи команд. Терминология Docker Давайте пробежимся по терминам, связанным с Docker. Образы Docker (Docker Images) и контейнеры Docker (Docker Containers) это две важных вещи, с которыми вы будете постоянно сталкиваться, работая с Docker. Говоря простыми словами, образ Docker это шаблон, содержащий приложение и все зависимости, необходимые для запуска этого приложения в Docker. А контейнер Docker это логическая сущность. Более конкретно – это запущенный экземпляр образа Docker. Что такое Docker Hub? Docker Hub это официальный онлайн-репозиторий, где вы можете найти все доступные для использования образы Docker. Docker Hub также позволяет нам хранить и при желании распространять наши собственные образы. Мы можем делать их публичными или приватными в зависимости от наших нужд. Пожалуйста, учтите, что при бесплатном использовании Docker Hub можно хранить приватно только один образ Docker. Если вам нужно больше, придется оформить платную подписку. Редакции Docker Docker доступен в двух редакциях:
Community Edition подходит для отдельных разработчиков и маленьких команд. Эта редакция предоставляет ограниченный функционал по сравнению с Enterprise Edition. Enterprise Edition, в свою очередь, подходит для больших команд и для использования Docker в продакшен-среде. Enterprise Edition делится еще на три разных редакции:
Установка Docker Прежде чем приступить к работе с Docker, давайте рассмотрим, как его устанавливать. Ниже даны ссылки на официальные руководства Docker по установке Community Edition. Они довольно простые, можете воспользоваться ими для установки Docker на вашу машину. Если вам лень устанавливать Docker или же у вас просто недостаточно свободных ресурсов на вашей машине для его установки, а поиграться хочется, – есть решение. Есть специальная онлайн-«песочница» – Play with Docker. Там пользователи могут попрактиковаться вводить команды, не устанавливая ничего на свою машину. Площадка проста в использовании и совершенно бесплатна. В следующей статье мы рассмотрим основные команды Docker, которые помогут вам начать работать с ним. Источник: techrocks.ru Комментарии: |
|