Contents
Что такое Докер?
Docker — это платформа разработки программного обеспечения для виртуализации с несколькими операционными системами, работающими на одном хосте. Это помогает разделить инфраструктуру и приложения для быстрой доставки программного обеспечения. В отличие от гипервизоров, которые используются для создания ВМ (виртуальных машин), виртуализация в Docker выполняется на системном уровне, также называемом контейнерами Docker.
Как вы можете видеть разницу на изображении ниже, контейнеры Docker работают поверх операционной системы хоста. Это поможет вам повысить эффективность и безопасность. Более того, мы можем запускать больше контейнеров в одной и той же инфраструктуре, чем виртуальных машин, потому что контейнеры используют меньше ресурсов.

Виртуализация в Docker против гипервизора
В отличие от виртуальных машин, которые могут взаимодействовать с оборудованием хоста (например, адаптером Ethernet для создания дополнительных виртуальных адаптеров), контейнеры Docker работают в изолированной среде поверх ОС хоста. Даже если ваш хост работает под управлением ОС Windows, вы можете запускать образы Linux в контейнерах с помощью Hyper-V, который автоматически создает небольшую виртуальную машину для виртуализации базового образа системы, в данном случае Linux .
В этом руководстве по Docker для начинающих вы изучите основы Docker, такие как:
- Что такое Докер?
- Зачем использовать Докер?
- Докер Архитектура
- Докер Двигатель
- Докер-образы
- Докер-реестры
- Докер-контейнеры
- Как установить Docker на Linux/Ubuntu
- Как использовать Docker с помощью основных команд Docker
- Что такое виртуализация?
- Важные команды Docker
Зачем использовать Докер?
- Docker — это компьютерное программное обеспечение, используемое для виртуализации, чтобы иметь несколько операционных систем, работающих на одном хосте.
- Docker — это клиент-серверное приложение, что означает, что у нас есть клиенты, которые ретранслируются на сервер.
- Образы Docker — это «исходный код» для наших контейнеров; мы используем их для создания
- Dockerfile имеет два типа реестров: 1) общедоступные и 2) частные реестры.
- Контейнеры — это организационные единицы тома Docker. Проще говоря, изображение — это шаблон, а контейнер — копия этого шаблона. У вас может быть несколько контейнеров (копий) одного и того же изображения.
Докер Архитектура
Теперь в этом руководстве по контейнеру Docker давайте поговорим об основных компонентах Docker в архитектуре Docker:

Докер Архитектура
Докер Двигатель
Docker — это клиент-серверное приложение, что означает, что у нас есть клиенты, которые ретранслируются на сервер. Итак, демон Docker называется: dockerd — это механизм Docker, представляющий сервер. Демон docker и клиенты могут быть запущены на одном или удаленном хосте, и они взаимодействуют через двоичный файл клиента командной строки, а также полный API RESTful для взаимодействия с демоном: dockerd.
Докер-образы
Образы Docker — это «исходный код» для наших контейнеров; мы используем их для создания контейнеров. У них может быть предварительно установлено программное обеспечение, которое ускоряет развертывание. Они переносимы, и мы можем использовать существующие образы или создавать свои собственные.
Докер-реестры
Docker хранит образы, которые мы создаем, в реестрах. Существуют государственные и частные реестры. Компания Docker имеет общедоступный реестр под названием Docker hub , где вы также можете хранить образы в частном порядке. В Docker Hub есть миллионы образов, которые вы можете начать использовать прямо сейчас.
Докер-контейнеры
Контейнеры — это организационные единицы и одна из основных концепций Docker. Когда мы создаем образ и запускаем его; мы работаем в контейнере. Аналогия с контейнером используется из-за переносимости программного обеспечения, которое мы запускаем в нашем контейнере. Мы можем перемещать его, другими словами, «отправлять» программное обеспечение, модифицировать, управлять им, создавать или избавляться от него, уничтожать его, как это могут делать грузовые корабли с реальными контейнерами.
Проще говоря, изображение — это шаблон, а контейнер — копия этого шаблона. У вас может быть несколько контейнеров (копий) одного и того же изображения.
Ниже у нас есть изображение, которое прекрасно представляет взаимодействие между различными компонентами и то, как работает контейнерная технология Docker.
У нас есть несколько команд для докеров: docker pull, docker run. Мы поговорим об этом позже.
Как установить Docker на Linux/Ubuntu
Ниже приведен пошаговый процесс установки Docker в Linux/Ubuntu:
Шаг 1 ) Чтобы установить Docker, нам нужно использовать пакеты DEB команды Docker.
Для этого требуются некоторые предварительные пакеты Ubuntu.
Используйте приведенную ниже команду для установки пакетов Ubuntu.
$ sudo apt-get install \ apt-transport-https \ ca-certificates curl \ software-properties-common
*знак «\» необязателен, он используется для новой строки, при желании вы можете написать команду без использования «\» только в одной строке.
Шаг 2) Добавьте официальный ключ Docker GPG с отпечатком пальца.
Используйте приведенную ниже команду Docker, чтобы ввести ключ GPG.
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Шаг 3) Затем добавьте репозиторий Docker APT.
Используйте приведенную ниже команду Docker, чтобы добавить репозиторий.
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
Вам может быть предложено подтвердить, что вы хотите добавить репозиторий и автоматически добавить ключ GPG на ваш хост.
Команда lsb_release должна заполнить версию дистрибутива Ubuntu вашего хоста.
Шаг 4) После добавления ключа GPG,
Обновите источники APT, используя приведенную ниже команду Docker.
$ sudo apt-get update
Теперь мы можем установить сам пакет Docker.
Шаг 5) После обновления источников APT,
Начните установку пакетов Docker в Ubuntu с помощью приведенной ниже команды Docker.
$ sudo apt-get install docker-ce
Приведенная выше команда устанавливает Docker и другие дополнительные необходимые пакеты. До Docker 1.8.0 имя пакета было lxc-docker, а между Docker 1.8 и 1.13 имя пакета было docker-engine.
ПРИМЕЧАНИЕ . Для запуска Docker для Windows требуется Windows 10 Pro или Enterprise версии 14393 или Windows Server 2016 RTM.
Как использовать Docker с помощью основных команд Docker
Вот как использовать Docker с помощью основных команд Docker:
Самая основная команда, которую мы должны выполнить после установки Docker, — это $ docker info, как мы уже говорили ранее.
$ sudo docker info
Вы должны получить аналогичный или следующий результат
Как видно из приведенного выше примера Docker, у нас есть информация о том, сколько контейнеров Docker запущено, приостановлено или остановлено, а также сколько образов мы загрузили. Итак, давайте получим наше первое изображение в этом руководстве по командам Docker.
$ sudo docker pull alpine
Этой командой мы говорим докеру загрузить образ alpine, вытащить его из общедоступного реестра, последняя версия которого установлена по умолчанию.
*alpine — это минимальный образ Docker на основе Alpine Linux с полным индексом пакетов и размером всего 5 МБ.
Если мы хотим запустить образ как контейнер, мы будем использовать следующую команду в этом руководстве по Docker.
$ sudo docker run -i -t alpine /bin/bash
Если мы запустим команду, нас отправят прямо к терминалу alpine. Флаг -i сохраняет STDIN открытым для контейнера, даже если вы не подключены к нему. Этот постоянный стандартный ввод составляет половину того, что вам нужно для интерактивной оболочки. Флаг -t — это другая половина, которая указывает Docker назначить контейнеру псевдотерминал. Это предлагает нам интерактивную оболочку в новом контейнере. Мы выходим из контейнера с помощью простой команды выхода.
Теперь в этом руководстве по основам Docker мы можем попробовать запустить образ Ubuntu.
$ sudo docker run -it ubuntu /bin/bash
Вы можете заметить, что docker проверяет образ локально, и если его там нет, образ автоматически извлекается из библиотеки изображений, и снова у нас работает интерактивная оболочка. Мы также можем называть контейнеры по мере их запуска.
$ sudo docker run --name our_container -it ubuntu /bin/bash
и снова выходим.
Мы также можем запустить ранее созданный контейнер без интерактивной оболочки.
$ sudo docker start container_name
Если мы хотим увидеть все запущенные контейнеры, мы просто запускаем
$ docker ps
И для всех контейнеров мы добавляем «-a» в конце этой же команды, как этот docker ps -a.
Эта команда показывает идентификатор контейнера, какой образ используется при создании, рабочий статус, открытые порты и случайно сгенерированное имя контейнера для упрощения управления.
Когда мы запускаем контейнеры, мы также хотели бы знать, сколько ресурсов они используют, для этого мы можем использовать команду.
$ docker stats
Вы также можете увидеть, какие изображения мы загрузили локально, и информацию о них.
$ sudo docker images
Команда в приведенном выше примере Docker отображает образ Docker с тегом, который показывает версию нашего образа, отличительный идентификатор образа, время создания и размер образа.
Что такое виртуализация?
Раньше процесс развертывания службы был медленным и болезненным. Во-первых, разработчики писали код; затем операционная группа развертывала его на компьютерах с «голым железом», где им приходилось искать версии библиотек, исправления и языковые компиляторы для работы кода. Если были какие-то баги или ошибки, процесс начинался сначала, разработчики исправляли, а затем снова была оперативная группа для развертывания.
Произошло улучшение с созданием гипервизоров. Гипервизоры имеют несколько виртуальных машин или ВМ на одном хосте, которые могут быть запущены или отключены. Виртуальные машины значительно сократили время ожидания для развертывания кода и исправления ошибок, но настоящим переломным моментом стали контейнеры Docker.
Важные команды Docker
Ниже приведены важные команды Docker:
Команда | Описание |
---|---|
информация о докере | Информационная команда |
докер тянуть | Скачать изображение |
docker run -i -t имя_изображения /bin/bash | Запустить образ как контейнер |
докер запускает наш_контейнер | Стартовый контейнер |
докер остановить имя_контейнера | Остановить контейнер |
докер пс | Список всех запущенных контейнеров |
статистика докера | Информация о контейнере |
докер образы | Список загруженных изображений |
Очистка докера | Убейте все запущенные контейнеры. |
Кроме того, ознакомьтесь с вопросами и ответами на собеседовании в Docker как для новичков, так и для опытных специалистов.
Резюме
- Docker — это платформа разработки программного обеспечения для виртуализации с несколькими операционными системами, работающими на одном хосте. Это помогает разделить инфраструктуру и приложения для быстрой доставки программного обеспечения.
- Архитектура Docker: Docker Engine, образы Docker, реестры Docker, контейнеры Docker.
- Docker Engine: Docker — это клиент-серверное приложение, что означает, что у нас есть клиенты, которые ретранслируются на сервер. Итак, демон Docker называется: dockerd — это механизм Docker, представляющий сервер.
- Образы Docker: образы Docker — это «исходный код» для наших контейнеров; мы используем их для создания контейнеров. У них может быть предварительно установлено программное обеспечение, которое ускоряет развертывание. Они переносимы, и мы можем использовать существующие образы или создавать свои собственные.
- Реестры Docker: Docker хранит образы, которые мы создаем, в реестрах. Существуют государственные и частные реестры. Компания Docker имеет общедоступный реестр, который называется Docker hub, где вы также можете хранить образы в частном порядке. В Docker Hub есть миллионы образов, которые вы можете начать использовать прямо сейчас.
- Контейнеры Docker. Контейнеры — это организационные единицы и одна из основных концепций Docker. Когда мы создаем образ и запускаем его; мы работаем в контейнере. Аналогия с контейнером используется из-за переносимости программного обеспечения, которое мы запускаем в нашем контейнере.
Статья является переводом www.guru99.com