Вы видели эту икону с голубым китом по сравнению с грузовым кораблем? В этой статье я предполагаю, что это, вероятно, так же бессмысленно для вас, как это было для меня.
Если вы похожи на меня, и слышал о докере в течение довольно долгого времени, не зная, что он делает, остаться здесь, мы охватив все, что вам нужно, чтобы начать.
Вступление
Прежде всего, давайте начнем с основы. Чтобы понять что Docker и Почему Докер, нам нужно базовое понимание того, как V ИРИТУАЛЬНЫЙ М Achines работает. Чтобы удержать это простым, как организовано то, что живут сайты?
VM (виртуальная машина)
Отказ от ответственности: Я предполагаю, что у вас было мало опыта с VM, не стесняйтесь пропустить эту часть.
Теория
Вы, наконец, закончились разработать ваше удивительное приложение, вы получили все потребности, все ваши тесты — это зеленый, а ваш клиент (может быть, это сам?) Удовлетворены. Теперь пришло время начать ваше заявление на публику.
Когда вы разработали свой продукт на компьютере, вам нужен компьютер, который может сохранить ваше приложение в жизнь 24/7, верно? Вот часть была то, что вам нужно принять приложение на сервер .
Сервер в основном является физическим большим оборудованием со всеми компонентами для CPU, RAM и т. Д. Необходимо. На этом сервере, предоставленном поставщиком услуг, вы выберете, они загружают урок Виртуальные машины в том числе тот, который вы решили заплатить.
Сравнение отеля
Чтобы легко представлять его, мне нравится сравнивать с отелем.
Этот отель известен своими темами, базированными домами (джунгли, фея и так далее).
Когда отель был построен, кто-то был выбран для управления всем, ресурсами, народами, которые работают здесь, оговорки и т. Д. Давайте назовем его/ее Гипервизор .
Как только кто-то хочет забронировать номер, гипервизор примет звонок и заставит это случиться. Вы хотите комнату среднего размера с темой джунглей? Без проблем. Маленький с феей вселенной для детей? Без проблем. Я позволю конкретным ресурсам от отеля для ваших желаний.
Это именно то, что происходит на сервере. Он обладает гипервизором, который запускает несколько виртуальных машин с определенной конфигурацией при необходимости. Средняя комната с темой джунглей на самом деле является виртуальной машиной с I5, 8 ГБ ОЗУ с ОС Linux.
Если вы были в отрасли достаточно долго, вы бы помнили, что в те дни мы должны были заплатить за целый сервер для себя, что приведет к более высокой цене. Мы не могли просто получить кусок сервера для наших потребностей. Чтобы поставить это в сравнение отеля, мы должны были забронировать Весь Отель, даже если нам нужно только одна комната.
В основном VM позволяет нам преобразовать один сервер на несколько серверов. Одноместный номер отеля, от отеля с краскими номерами.
Все градуется к виртуализации, верно?
Нисходящие
Несмотря на то, что революция по сравнению с тем, что мы делали ранее, виртуализация машин имеет несколько недостаток:
- Они медленно загружаются Из-за всей О погибший S Истема они несут и должны устанавливать с нуля.
- Они тяжелые по той же причине, объясненной выше. Они могут взять до 10 ГБ Отказ
- Ваше приложение связано с одной ОС или вам понадобится кратные VM. Представьте себе, что ваше заявление делится на несколько услуг, которые имеют разные требования. Вы, скорее всего, закончите вопросы совместимости. Чтобы решить, что вам придется либо найти версию, которая работала для всех, либо загрузиться другой VM с другой версией ОС и запустите необходимую услугу здесь.
Как docker решаю это?
Docker позволит вам упаковать свое заявление в то, что они называют Контейнер Отказ Но что такое контейнер?
Контейнер в основном является легким, быстрым и портативным куском программного обеспечения. Вы можете себе представить, как герметичная бутылка с кораблем внутри. Независимо от того, где вы его положили, независимо от того, когда он всегда будет такой же выглядеть … до тех пор, пока это не перевернут.
Мы прыгнем в создание контейнеров позже, пока сосредоточимся на общем понимании.
Хорошо, контейнеры кажутся крутыми, но зачем их использовать? Почему докер?
Ну, как мы видели ранее, ВМ очень тяжелые, они занимают много времени, чтобы загружать, потому что им нужно установить свои собственные Ядро и ОС Отказ В нашем примере отеля он может быть переведен таким образом: вы забронировали новую комнату? Хорошо, мы собираемся все и построим это, как вы желаете. Это включает в себя народы, материалы, электричество, воду .. И так далее.
Это где докер приходит в действие. Вместо того, чтобы сказать «построить все!» , Докер придет, забивает гипервизор и скажи «Хорошо, они хотят, чтобы комната на базе джунглей? Давайте вернемся на прошу у нас здесь, клонировать его и поставили на место ».
Кажется волшебным, верно? Как вы могли догадаться, в отличие от VM, вам не нужен гипервизор при использовании докера. У вас в основном у вас есть сервер, с Linux (или любыми другими, действительно) на основе системы, установите докер на нем и загрузитесь как можно больше номеров, сколько хотите .. Номера являются известными контейнерами.
Почему они такие легкие? Потому что все контейнеры будут Поделитесь тем же подчеркнутым ядром , в отличие от виртуальных машин, которые нужно одно ядро каждый раз. Это буквально игровой разрыв и позволяет им быть начатым в течение нескольких секунд буквально. Недостатком поделиться одним и тем же ядром является то, что вы можете загружать контейнеры Linux только в системе на основе Linux и только контейнеры Windows в системе на базе Windows.
Основы докера
Контейнеры
Как мы увидели раньше, контейнеры в основном хлебом и маслом докера, они защищают ваше приложение в очень изолированную систему с очень конкретными потребностями.
Как они созданы? Как начать контейнер докера?
Во-первых, вам нужно изображение. Мы объясним, что такое образ и как создать один позже. На данный момент все, что вам нужно знать, это то, что изображение в значительной степени, что вы можете использовать для вашего контейнера.
На данный момент мы будем использовать уже созданные изображения. Большинство крупнейших технологий, висящих вокруг, имеют свои официальные изображения, такие как Nodejs, Postgre, Mongodb, Redis .. И так далее. Вы можете найти все их на официальном веб-сайте Docker: Docker Hub. .
Давайте играть с одним из них.
Во-первых, давайте скачаем изображение, ваша форма:
docker pull hello-world
Эта команда перейдет прямо в Docker Hub и получите последнюю версию. Как только это загружено, изображение будет доступно на вашем компьютере, если вы не удалите его. ( Больше на изображениях на следующей главе)
Теперь, когда у вас есть, время что-то сделать с ним, верно? Давайте создадим наш первый контейнер:
docker run hello-world
Вы должны увидеть текст, появившийся в вашей консоли, поздравление, все работает!
Чтобы увидеть все ваши контейнеры, вы можете напечатать:
docker container ls -a
Команда соберет все необходимые вам информацию:
- ID контейнера (действительно полезен, когда вы хотите манипулировать определенным контейнером).
- Его имя (случайно генерируется Docker, или вы можете выбрать свой собственный).
- Сколько времени прошло с тех пор, как это творение.
И еще больше!
Это был очень основной пример, контейнер почти ничего не делает. Цель состояла в том, чтобы дать вам быстрое понимание того, как мы создаем контейнеры.
Для более конкретного экзвали с базой данных MongoDB я бы порекомендовал вас Это официальное руководство командой докера.
Изображения
Мы только что создали контейнер на основе изображения. Что тогда изображение?
Ну, это довольно легко. Изображение — это форма, описание, пакет с инструкциями о том, как создавать контейнеры. Они созданы из .Dockerfile с набором инструкций о том, как быть построенным.
Вы можете создать свое собственное изображение на основе другого, все возможно. Вы хотите добавить пользовательское программное обеспечение на дистрибуцию Linux? Просто получите изображение, напишите свой .DockerFile и опубликуйте его на Docker Hub, чтобы каждый мог получить его!
Это все, правда.
Надеюсь, вам понравилось это быстрое введение в мир докера. Это был очень обзор высокого уровня, это очень сложная и целая экосистема сама по себе, есть еще многое другое!
Вы можете найти оригинальную статью о Othrys веб-сайт И вы можете следовать моему Twitter Или пометите меня здесь, чтобы обсудить об этой статье.
Оригинал: «https://dev.to/chandelieraxel/a-complete-introduction-to-docker-o6m»