Учебники

Докер – Краткое руководство

Докер – Обзор

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

Первоначальный выпуск Docker состоялся в марте 2013 года, и с тех пор он стал модным словом для развития современного мира, особенно перед лицом Agile-проектов.

Обзор докера

Особенности Docker

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

  • С контейнерами для групп из разных подразделений, таких как разработка, контроль качества и эксплуатация, становится проще работать в разных приложениях.

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

  • Поскольку контейнеры Docker довольно легкие, их очень легко масштабировать.

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

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

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

Поскольку контейнеры Docker довольно легкие, их очень легко масштабировать.

Компоненты Docker

Докер имеет следующие компоненты

  • Docker для Mac – позволяет запускать контейнеры Docker в Mac OS.

  • Docker для Linux – позволяет запускать Docker-контейнеры в ОС Linux.

  • Docker для Windows – позволяет запускать Docker-контейнеры в ОС Windows.

  • Docker Engine – используется для создания образов Docker и создания контейнеров Docker.

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

  • Docker Compose – используется для определения приложений с использованием нескольких контейнеров Docker.

Docker для Mac – позволяет запускать контейнеры Docker в Mac OS.

Docker для Linux – позволяет запускать Docker-контейнеры в ОС Linux.

Docker для Windows – позволяет запускать Docker-контейнеры в ОС Windows.

Docker Engine – используется для создания образов Docker и создания контейнеров Docker.

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

Docker Compose – используется для определения приложений с использованием нескольких контейнеров Docker.

Мы обсудим все эти компоненты подробно в следующих главах.

Официальный сайт Docker: https://www.docker.com/ На сайте есть вся информация и документация о программном обеспечении Docker. Он также имеет ссылки для загрузки различных операционных систем.

Установка Docker в Linux

Чтобы начать установку Docker, мы собираемся использовать экземпляр Ubuntu. Вы можете использовать Oracle Virtual Box для настройки виртуального экземпляра Linux, если у вас его еще нет.

На следующем снимке экрана показан простой сервер Ubuntu, установленный в Oracle Virtual Box. Существует пользователь ОС с именем demo, который был определен в системе с полным корневым доступом к серверу.

Демо-кнопка

Чтобы установить Docker, нам нужно выполнить шаги, указанные ниже.

Шаг 1 – Перед установкой Docker вы должны убедиться, что у вас установлена ​​правильная версия ядра Linux. Docker предназначен только для работы с ядром Linux версии 3.8 и выше. Мы можем сделать это, выполнив следующую команду.

uname

Этот метод возвращает системную информацию о системе Linux.

Синтаксис

uname -a

Опции

a – Это используется, чтобы гарантировать, что системная информация возвращается.

Возвращаемое значение

Этот метод возвращает следующую информацию о системе Linux –

  • имя ядра
  • имя узла
  • выпуск ядра
  • версия ядра
  • машина
  • процессор
  • аппаратная платформа
  • операционная система

пример

uname –a

Выход

Когда мы запустим вышеуказанную команду, мы получим следующий результат –

Выход

Из результатов видно, что версия ядра Linux – 4.2.0-27, что выше, чем версия 3.8, так что мы готовы идти дальше.

Шаг 2 – Вам необходимо обновить ОС последними пакетами, что можно сделать с помощью следующей команды:

apt-get

Этот метод устанавливает пакеты из Интернета в систему Linux.

Синтаксис

sudo apt-get update

Опции

  • sudo – команда sudo используется для обеспечения выполнения команды с правами root.

  • update – опция обновления используется, чтобы гарантировать, что все пакеты обновлены в системе Linux.

sudo – команда sudo используется для обеспечения выполнения команды с правами root.

update – опция обновления используется, чтобы гарантировать, что все пакеты обновлены в системе Linux.

Возвращаемое значение

Никто

пример

sudo apt-get update

Выход

Когда мы запустим указанную выше команду, мы получим следующий результат –

Пример вывода

Эта команда подключится к Интернету и загрузит последние системные пакеты для Ubuntu.

Шаг 3 – Следующим шагом является установка необходимых сертификатов, которые потребуются для дальнейшей работы с сайтом Docker для загрузки необходимых пакетов Docker. Это можно сделать с помощью следующей команды.

sudo apt-get install apt-transport-https ca-certificates

Необходимые пакеты Docker

Шаг 4 – Следующий шаг – добавить новый ключ GPG. Этот ключ необходим для обеспечения шифрования всех данных при загрузке необходимых пакетов для Docker.

Следующая команда загрузит ключ с идентификатором 58118E89F3A912897C070ADBF76221572C52609D с сервера ключей hkp: //ha.pool.sks-keyservers.net: 80 и добавит его в цепочку ключей adv . Обратите внимание, что этот конкретный ключ необходим для загрузки необходимых пакетов Docker.

Новый ключ PGP

Шаг 5 – Далее, в зависимости от версии Ubuntu, вам нужно будет добавить соответствующий сайт в список docker.list для менеджера пакетов apt , чтобы он мог обнаружить пакеты Docker с сайта Docker и загрузить их соответственно.

Precise 12.04 (LTS) ─ deb https://apt.dockerproject.org/repo ubuntu-Precision Main

Trusty 14.04 (LTS) ─ deb https://apt.dockerproject.org/repo/ ubuntu-trusty main

Хитрый 15.10 ─ deb https://apt.dockerproject.org/repo ubuntu-wily main

Xenial 16.04 (LTS) – https://apt.dockerproject.org/repo ubuntu-xenial main

Поскольку нашей операционной системой является Ubuntu 14.04, мы будем использовать имя репозитория как «deb https://apt.dockerproject.org/repo ubuntu-trusty main».

И затем нам нужно будет добавить этот репозиторий в список docker.list, как упоминалось выше.

echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main” 
   | sudo tee /etc/apt/sources.list.d/docker.list

Список докеров

Шаг 6 – Затем мы запускаем команду apt-get update для обновления пакетов в системе Ubuntu.

Команда обновления APT-GET

Шаг 7 – Если вы хотите убедиться, что менеджер пакетов указывает на правильный репозиторий, вы можете сделать это, выполнив команду apt-cache .

apt-cache policy docker-engine

В результате вы получите ссылку на https://apt.dockerproject.org/repo/

Команда обновления APT-GET

Шаг 8 – Введите команду apt-get update, чтобы убедиться, что все пакеты в локальной системе обновлены.

Обновление пакетов APT-GET

Шаг 9 – Для Ubuntu Trusty, Wily и Xenial мы должны установить пакеты ядра linux-image-extra- *, которые позволяют использовать драйвер хранилища aufs . Этот драйвер используется более новыми версиями Docker.

Это можно сделать с помощью следующей команды.

sudo apt-get install linux-image-extra-$(uname -r) 
   linux-image-extra-virtual

Aufs Storage Driver

Шаг 10 – Последний шаг – установить Docker, и мы можем сделать это с помощью следующей команды:

sudo apt-get install –y docker-engine

Здесь apt-get использует опцию установки для загрузки образа движка Docker с веб-сайта Docker и установки Docker.

Docker-engine – это официальный пакет от Docker Corporation для систем на основе Ubuntu.

Докер-двигатель

В следующем разделе мы увидим, как проверить версию установленного Docker.

Версия Docker

Чтобы увидеть версию Docker, вы можете выполнить следующую команду:

Синтаксис

docker version 

Опции

  • версия – используется для гарантии того, что команда Docker возвращает установленную версию Docker.

версия – используется для гарантии того, что команда Docker возвращает установленную версию Docker.

Возвращаемое значение

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

пример

sudo docker version 

Выход

Когда мы запустим вышеуказанную программу, мы получим следующий результат –

Вывод версии Docker

Информация о докере

Чтобы увидеть больше информации о Docker, работающем в системе, вы можете выполнить следующую команду:

Синтаксис

docker info

Опции

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

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

Возвращаемое значение

Выходные данные предоставят различные детали Docker, установленного в системе, такие как –

  • Количество контейнеров
  • Количество изображений
  • Драйвер хранилища, используемый Docker
  • Корневой каталог, используемый Docker
  • Драйвер выполнения, используемый Docker

пример

sudo docker info

Выход

Когда мы запустим указанную выше команду, мы получим следующий результат –

Пример вывода информации Docker

Докер для Windows

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

Системные Требования

ОС Windows Windows 10 64 бит
объем памяти 2 ГБ ОЗУ (рекомендуется)

Вы можете скачать Docker для Windows с – https://docs.docker.com/docker-for-windows/

Докер для Windows

Docker ToolBox

Docker ToolBox был разработан для более старых версий Windows, таких как Windows 8.1 и Windows 7. Для установки Docker для Windows необходимо иметь следующую конфигурацию.

Системные Требования

ОС Windows Windows 7, 8, 8.1
объем памяти 2 ГБ ОЗУ (рекомендуется)
Виртуализация Это должно быть включено.

Вы можете скачать Docker ToolBox с – https://www.docker.com/products/docker-toolbox

Панель инструментов Docker

Докер – Установка

Давайте пройдемся по установке каждого продукта.

Докер для Windows

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

Шаг 1 – Нажмите на условия соглашения, а затем на кнопку «Установить», чтобы продолжить установку.

Настройка Docker

Шаг 2 – После завершения нажмите кнопку Готово, чтобы завершить установку.

Конец

Docker ToolBox

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

Шаг 1 – Нажмите кнопку Далее на начальном экране.

Docker ToolBox Next

Шаг 2. Сохраните местоположение по умолчанию на следующем экране и нажмите кнопку «Далее».

Место назначения

Шаг 3 – Оставьте компоненты по умолчанию и нажмите кнопку Далее, чтобы продолжить.

Выберите компоненты

Шаг 4. Сохраните дополнительные задачи такими, какие они есть, и нажмите кнопку «Далее».

Дополнительные задачи

Шаг 5 – На последнем экране нажмите кнопку Установить.

устанавливать

Работа с Docker Toolbox

Давайте теперь посмотрим, как можно использовать Docker Toolbox для работы с контейнерами Docker в Windows. Первым шагом является запуск приложения Docker Toolbox, для которого создается ярлык на рабочем столе при установке панели инструментов Docker.

Быстрый старт Терминал

Далее вы увидите настройку, выполняемую при запуске Docker.

Docker Toolbox Terminal

После этого вы увидите, что Docker настроен и запущен. Вы получите интерактивную оболочку для Docker.

Интерактивная оболочка

Чтобы проверить, правильно ли работает Docker, мы можем использовать команду Docker run для загрузки и запуска простого контейнера HelloWorld Docker .

Работа команды запуска Docker приведена ниже –

docker run 

Эта команда используется для запуска команды в контейнере Docker.

Синтаксис

docker run image

Опции

  • Изображение – это имя изображения, которое используется для запуска контейнера.

Изображение – это имя изображения, которое используется для запуска контейнера.

Возвращаемое значение

Вывод выполнит команду в нужном контейнере.

пример

sudo docker run hello-world

Эта команда загрузит образ hello-world , если его еще нет, и запустит hello-world в качестве контейнера.

Выход

Когда мы запустим указанную выше команду, мы получим следующий результат –

Докер Контейнер

Если вы хотите запустить ОС Ubuntu в Windows, вы можете загрузить образ Ubuntu, используя следующую команду:

Docker run –it Ubuntu bash

Здесь вы говорите Docker запускать команду в интерактивном режиме через опцию –it .

Ubuntu Image

В выводе вы видите, что образ Ubuntu загружен и запущен, а затем вы войдете в систему как пользователь root в контейнере Ubuntu.

Докер – хаб

Docker Hub – это служба реестра в облаке, которая позволяет загружать образы Docker, созданные другими сообществами. Вы также можете загрузить свои собственные изображения, созданные в Docker, в Docker Hub. В этой главе мы увидим, как загрузить и использовать образ Jenkins Docker из центра Docker.

Официальный сайт Docker Hub – https://www.docker.com/community-edition#/add_ons

Шаг 1 – Сначала вам нужно сделать простую регистрацию в Docker-хабе.

Docker Hub Singup

Шаг 2 – Как только вы зарегистрируетесь, вы войдете в Docker Hub.

Войти в Docker Hub

Шаг 3 – Далее, давайте посмотрим и найдем изображение Дженкинса.

Дженкинс изображение

Шаг 4 – Если вы прокрутите вниз на той же странице, вы увидите команду Docker pull . Это будет использоваться для загрузки образа Jenkins на локальный сервер Ubuntu.

Команда Pull

Шаг 5 – Теперь перейдите на сервер Ubuntu и выполните следующую команду –

sudo docker pull jenkins 

Сервер Ubuntu

Чтобы запустить Jenkins, вам нужно выполнить следующую команду –

sudo docker run -p 8080:8080 -p 50000:50000 jenkins 

Обратите внимание на следующие моменты о приведенной выше команде sudo

  • Мы используем команду sudo, чтобы убедиться, что она работает с правами root.

  • Здесь jenkins – это имя образа, который мы хотим загрузить из центра Docker и установить на наш компьютер с Ubuntu.

  • -p используется для сопоставления номера порта внутреннего образа Docker с нашим основным сервером Ubuntu, чтобы мы могли соответствующим образом получить доступ к контейнеру.

Мы используем команду sudo, чтобы убедиться, что она работает с правами root.

Здесь jenkins – это имя образа, который мы хотим загрузить из центра Docker и установить на наш компьютер с Ubuntu.

-p используется для сопоставления номера порта внутреннего образа Docker с нашим основным сервером Ubuntu, чтобы мы могли соответствующим образом получить доступ к контейнеру.

Судо командование

После этого Jenkins будет успешно работать в качестве контейнера на компьютере с Ubuntu.

Докер – Изображения

В Docker все основано на изображениях. Изображение представляет собой комбинацию файловой системы и параметров. Давайте рассмотрим пример следующей команды в Docker.

docker run hello-world 
  • Команда Docker специфична и сообщает программе Docker в операционной системе, что нужно что-то делать.

  • Команда run используется для упоминания того, что мы хотим создать экземпляр изображения, который затем называется контейнером .

  • Наконец, «hello-world» представляет изображение, из которого сделан контейнер.

Команда Docker специфична и сообщает программе Docker в операционной системе, что нужно что-то делать.

Команда run используется для упоминания того, что мы хотим создать экземпляр изображения, который затем называется контейнером .

Наконец, «hello-world» представляет изображение, из которого сделан контейнер.

Теперь давайте посмотрим, как мы можем использовать образ CentOS, доступный в Docker Hub, для запуска CentOS на нашей машине с Ubuntu. Мы можем сделать это, выполнив следующую команду на нашем компьютере с Ubuntu:

sudo docker run centos –it /bin/bash

Обратите внимание на следующие моменты о приведенной выше команде sudo

  • Мы используем команду sudo, чтобы убедиться, что она работает с правами root .

  • Здесь centos – это имя образа, который мы хотим загрузить с Docker Hub и установить на наш компьютер с Ubuntu.

  • упоминается, что мы хотим работать в интерактивном режиме .

  • / bin / bash используется для запуска оболочки bash после запуска и запуска CentOS.

Мы используем команду sudo, чтобы убедиться, что она работает с правами root .

Здесь centos – это имя образа, который мы хотим загрузить с Docker Hub и установить на наш компьютер с Ubuntu.

упоминается, что мы хотим работать в интерактивном режиме .

/ bin / bash используется для запуска оболочки bash после запуска и запуска CentOS.

Отображение изображений Docker

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

docker images

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

Синтаксис

docker images 

Опции

Никто

Возвращаемое значение

Вывод предоставит список изображений в системе.

пример

sudo docker images

Выход

Когда мы запустим указанную выше команду, она выдаст следующий результат:

Отображение изображений Docker

Из приведенного выше вывода видно, что на сервере есть три изображения: centos, newcentos и jenkins . Каждое изображение имеет следующие атрибуты –

  • TAG – используется для логической маркировки изображений.

  • Идентификатор изображения – используется для уникальной идентификации изображения.

  • Создано – количество дней с момента создания изображения.

  • Виртуальный размер – размер изображения.

TAG – используется для логической маркировки изображений.

Идентификатор изображения – используется для уникальной идентификации изображения.

Создано – количество дней с момента создания изображения.

Виртуальный размер – размер изображения.

Загрузка изображений Docker

Изображения можно загрузить из Docker Hub с помощью команды Docker run . Давайте посмотрим подробно, как мы можем это сделать.

Синтаксис

Следующий синтаксис используется для запуска команды в контейнере Docker.

docker run image 

Опции

  • Изображение – это имя изображения, которое используется для запуска контейнера.

Изображение – это имя изображения, которое используется для запуска контейнера.

Возвращаемое значение

Вывод выполнит команду в нужном контейнере.

пример

sudo docker run centos

Эта команда загрузит изображение centos , если оно еще не создано, и запустит ОС в качестве контейнера.

Выход

Когда мы запустим указанную выше команду, мы получим следующий результат –

Загрузка изображений Docker

Теперь вы увидите загруженный образ CentOS Docker. Теперь, если мы запустим команду Docker images, чтобы увидеть список изображений в системе, мы также сможем увидеть изображение centos .

Centos

Удаление изображений Docker

Образы Docker в системе можно удалить с помощью команды docker rmi . Давайте посмотрим на эту команду более подробно.

docker rmi

Эта команда используется для удаления образов Docker.

Синтаксис

docker rmi ImageID

Опции

  • ImageID – это идентификатор изображения, которое необходимо удалить.

ImageID – это идентификатор изображения, которое необходимо удалить.

Возвращаемое значение

Выходные данные будут содержать идентификатор изображения удаленного изображения.

пример

sudo docker rmi 7a86f8ffcb25 

Здесь 7a86f8ffcb25 – это идентификатор изображения newcentos .

Выход

Когда мы запустим указанную выше команду, она выдаст следующий результат:

Удаление изображений Docker

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

докер изображения -q

Эта команда используется для возврата только идентификаторов изображений изображений.

Синтаксис

docker images 

Опции

  • q – Указывает команде Docker возвращать только ID изображения.

q – Указывает команде Docker возвращать только ID изображения.

Возвращаемое значение

Выходные данные будут отображать только идентификаторы изображений на хосте Docker.

пример

sudo docker images -q 

Выход

Когда мы запустим указанную выше команду, она выдаст следующий результат:

Docker Images Q

докер проверяет

Эта команда используется для просмотра деталей изображения или контейнера.

Синтаксис

docker inspect Repository 

Опции

  • Репозиторий – это название образа.

Репозиторий – это название образа.

Возвращаемое значение

На выходе будет показана подробная информация об изображении.

пример

sudo docker inspect jenkins 

Выход

Когда мы запустим указанную выше команду, она выдаст следующий результат:

Докер Инспекция

Докер – Контейнеры

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

Запуск контейнера

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

sudo docker run –it centos /bin/bash 

Затем нажмите Crtl + p, и вы вернетесь в свою оболочку ОС.

Контейнеры

Затем вы будете работать в экземпляре системы CentOS на сервере Ubuntu.

Распечатка контейнеров

Можно перечислить все контейнеры на машине с помощью команды docker ps . Эта команда используется для возврата текущих запущенных контейнеров.

docker ps

Синтаксис

docker ps 

Опции

Никто

Возвращаемое значение

Вывод покажет работающие в данный момент контейнеры.

пример

sudo docker ps

Выход

Когда мы запустим указанную выше команду, она выдаст следующий результат:

Распечатка контейнеров

Давайте посмотрим еще несколько вариантов команды docker ps .

докер ps -a

Эта команда используется для вывода списка всех контейнеров в системе

Синтаксис

docker ps -a 

Опции

  • ─a – сообщает команде docker ps перечислить все контейнеры в системе.

─a – сообщает команде docker ps перечислить все контейнеры в системе.

Возвращаемое значение

Вывод покажет все контейнеры.

пример

sudo docker ps -a 

Выход

Когда мы запустим указанную выше команду, она выдаст следующий результат:

Докер PS A

история докера

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

Синтаксис

docker history ImageID 

Опции

  • ImageID – это идентификатор изображения, для которого вы хотите увидеть все команды, которые были запущены для него.

ImageID – это идентификатор изображения, для которого вы хотите увидеть все команды, которые были запущены для него.

Возвращаемое значение

Вывод покажет все команды, запущенные для этого изображения.

пример

sudo docker history centos

Приведенная выше команда покажет все команды, которые были запущены для изображения centos .

Выход

Когда мы запустим указанную выше команду, она выдаст следующий результат:

История докеров

Докер – Работа с контейнерами

В этой главе мы подробно рассмотрим, что мы можем сделать с контейнерами.

верх докера

С помощью этой команды вы можете увидеть основные процессы в контейнере.

Синтаксис

docker top ContainerID 

Опции

  • ContainerID – это идентификатор контейнера, для которого вы хотите увидеть топовые процессы.

ContainerID – это идентификатор контейнера, для которого вы хотите увидеть топовые процессы.

Возвращаемое значение

Вывод покажет процессы верхнего уровня в контейнере.

пример

sudo docker top 9f215ed0b0d3 

Приведенная выше команда покажет процессы верхнего уровня в контейнере.

Выход

Когда мы запустим указанную выше команду, она выдаст следующий результат:

Docker Top

остановка докера

Эта команда используется для остановки работающего контейнера.

Синтаксис

docker stop ContainerID 

Опции

  • ContainerID – это идентификатор контейнера, который необходимо остановить.

ContainerID – это идентификатор контейнера, который необходимо остановить.

Возвращаемое значение

Вывод выдаст идентификатор остановленного контейнера.

пример

sudo docker stop 9f215ed0b0d3 

Приведенная выше команда остановит контейнер Docker 9f215ed0b0d3 .

Выход

Когда мы запустим указанную выше команду, она выдаст следующий результат:

Докер Стоп

Докер Р.М.

Эта команда используется для удаления контейнера.

Синтаксис

docker rm ContainerID 

Опции

  • ContainerID – это идентификатор контейнера, который необходимо удалить.

ContainerID – это идентификатор контейнера, который необходимо удалить.

Возвращаемое значение

Вывод даст идентификатор удаленного контейнера.

пример

sudo docker rm 9f215ed0b0d3 

Приведенная выше команда удалит Docker-контейнер 9f215ed0b0d3 .

Выход

Когда мы запустим указанную выше команду, она выдаст следующий результат:

Докер РМ

статистика докера

Эта команда используется для предоставления статистики работающего контейнера.

Синтаксис

docker stats ContainerID 

Опции

  • ContainerID – это идентификатор контейнера, для которого должна быть предоставлена ​​статистика.

ContainerID – это идентификатор контейнера, для которого должна быть предоставлена ​​статистика.

Возвращаемое значение

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

пример

sudo docker stats 9f215ed0b0d3 

Приведенная выше команда обеспечит использование ЦП и памяти Контейнера 9f215ed0b0d3 .

Выход

Когда мы запустим указанную выше команду, она выдаст следующий результат:

Docker Stats

присоединение докера

Эта команда используется для подключения к работающему контейнеру.

Синтаксис

docker attach ContainerID 

Опции

  • ContainerID – это идентификатор контейнера, к которому вам нужно присоединиться.

ContainerID – это идентификатор контейнера, к которому вам нужно присоединиться.

Возвращаемое значение

Никто

пример

sudo docker attach 07b0b6f434fe 

Приведенная выше команда будет прикреплена к Docker-контейнеру 07b0b6f434fe .

Выход

Когда мы запустим указанную выше команду, она выдаст следующий результат:

Docker Attach

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

Docker Attach Container

докер пауза

Эта команда используется для приостановки процессов в работающем контейнере.

Синтаксис

docker pause ContainerID 

Опции

  • ContainerID – это идентификатор контейнера, для которого необходимо приостановить процессы в контейнере.

ContainerID – это идентификатор контейнера, для которого необходимо приостановить процессы в контейнере.

Возвращаемое значение

ContainerID приостановленного контейнера.

пример

sudo docker pause 07b0b6f434fe 

Приведенная выше команда приостановит процессы в работающем контейнере 07b0b6f434fe .

Выход

Когда мы запустим указанную выше команду, она выдаст следующий результат:

Докер Пауза

докер, пауза

Эта команда используется для приостановки процессов в работающем контейнере.

Синтаксис

docker unpause ContainerID

Опции

  • ContainerID – это идентификатор контейнера, для которого необходимо приостановить процессы в контейнере.

ContainerID – это идентификатор контейнера, для которого необходимо приостановить процессы в контейнере.

Возвращаемое значение

ContainerID запущенного контейнера.

пример

sudo docker unpause 07b0b6f434fe 

Приведенная выше команда отключит процессы в работающем контейнере: 07b0b6f434fe

Выход

Когда мы запустим указанную выше команду, она выдаст следующий результат:

Docker Unpause

докер убить

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

Синтаксис

docker kill ContainerID

Опции

  • ContainerID – это идентификатор контейнера, для которого вам нужно убить процессы в контейнере.

ContainerID – это идентификатор контейнера, для которого вам нужно убить процессы в контейнере.

Возвращаемое значение

ContainerID запущенного контейнера.

пример

sudo docker kill 07b0b6f434fe 

Приведенная выше команда уничтожит процессы в работающем контейнере 07b0b6f434fe .

Выход

Когда мы запустим указанную выше команду, она выдаст следующий результат:

Docker Kill

Docker – жизненный цикл контейнера

На следующем рисунке показан весь жизненный цикл контейнера Docker.

Жизненный цикл контейнера

  • Изначально контейнер Docker будет в созданном состоянии.

  • Затем контейнер Docker переходит в состояние выполнения при использовании команды Docker run .

  • Команда Docker kill используется для уничтожения существующего контейнера Docker.

  • Команда Docker pause используется для приостановки существующего контейнера Docker.

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

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

Изначально контейнер Docker будет в созданном состоянии.

Затем контейнер Docker переходит в состояние выполнения при использовании команды Docker run .

Команда Docker kill используется для уничтожения существующего контейнера Docker.

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

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

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

Докер – Архитектура

На следующем рисунке показана стандартная и традиционная архитектура виртуализации .

Виртуализация

  • Сервер – это физический сервер, который используется для размещения нескольких виртуальных машин.

  • Хост-ОС является базовой машиной, такой как Linux или Windows.

  • Гипервизор – это VMWare или Windows Hyper V, который используется для размещения виртуальных машин.

  • Затем вы должны установить несколько операционных систем в качестве виртуальных машин поверх существующего гипервизора в качестве гостевой ОС.

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

Сервер – это физический сервер, который используется для размещения нескольких виртуальных машин.

Хост-ОС является базовой машиной, такой как Linux или Windows.

Гипервизор – это VMWare или Windows Hyper V, который используется для размещения виртуальных машин.

Затем вы должны установить несколько операционных систем в качестве виртуальных машин поверх существующего гипервизора в качестве гостевой ОС.

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

На следующем рисунке показано виртуализация нового поколения, которая включена через докеры. Давайте посмотрим на различные слои.

Различные слои

  • Сервер – это физический сервер, который используется для размещения нескольких виртуальных машин. Так что этот слой остается прежним.

  • Хост-ОС является базовой машиной, такой как Linux или Windows. Так что этот слой остается прежним.

  • Теперь приходит новое поколение, которое является двигателем Docker. Это используется для запуска операционной системы, которая раньше была виртуальными машинами в качестве контейнеров Docker.

  • Все приложения теперь работают как контейнеры Docker.

Сервер – это физический сервер, который используется для размещения нескольких виртуальных машин. Так что этот слой остается прежним.

Хост-ОС является базовой машиной, такой как Linux или Windows. Так что этот слой остается прежним.

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

Все приложения теперь работают как контейнеры Docker.

Очевидным преимуществом этой архитектуры является то, что вам не нужно иметь дополнительное оборудование для гостевой ОС. Все работает как контейнеры Docker.

Докер – Контейнер и Хосты

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

Docker Images

Давайте запустим команду Docker images на хосте Windows.

Docker Images

Отсюда мы видим, что у нас есть два изображения – Ubuntu и Hello-World .

Запуск контейнера

Теперь давайте запустим контейнер в хосте Windows Docker.

Запуск контейнера

Мы видим, что, запустив контейнер, мы теперь можем запустить контейнер Ubuntu на хосте Windows.

Список всех контейнеров

Давайте перечислим все контейнеры на хосте Windows.

Список контейнеров

Остановка контейнера

Давайте теперь остановим работающий контейнер на хосте Windows.

Остановка контейнера

Итак, вы можете видеть, что движок Docker довольно последовательный, когда речь идет о разных хостах Docker, и он работает в Windows так же, как и в Linux.

Докер – Настройка

В этой главе мы рассмотрим различные варианты настройки Docker.

остановка сервисного докера

Эта команда используется для остановки процесса демона Docker.

Синтаксис

service docker stop 

Опции

Никто

Возвращаемое значение

Сообщение, показывающее, что процесс Docker остановлен.

пример

sudo service docker stop 

Выход

Когда мы запустим указанную выше команду, она выдаст следующий результат:

Сервис Докер Стоп

запуск сервисного докера

Эта команда используется для запуска процесса демона Docker.

Синтаксис

service docker start 

Опции

Никто

Возвращаемое значение

Сообщение, показывающее, что процесс Docker запущен.

пример

sudo service docker start

Выход

Когда мы запустим указанную выше команду, она выдаст следующий результат:

Сервис Docker Start

Докер – Контейнеры и снаряды

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

Shell Shell

На приведенном выше снимке экрана вы можете заметить, что мы выполнили следующую команду:

sudo docker run –it centos /bin/bash 

Мы использовали эту команду для создания нового контейнера, а затем использовали команду Ctrl + P + Q для выхода из контейнера. Это гарантирует, что контейнер все еще существует даже после того, как мы выйдем из контейнера.

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

Теперь есть более простой способ прикрепления к контейнерам и их аккуратного выхода без необходимости их уничтожения. Одним из способов достижения этого является использование команды nsenter .

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

docker run --rm -v /usr/local/bin:/target jpetazzo/nsenter

Nsenter Image

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

Проверьте команду

Как видно на скриншоте выше, мы сначала использовали команду docker ps, чтобы увидеть запущенные контейнеры. Мы видим, что существует один работающий контейнер с идентификатором ef42a4c5e663.

Затем мы используем команду Docker inspect для проверки конфигурации этого контейнера, а затем используем команду grep, чтобы просто отфильтровать ID процесса. И из вывода мы видим, что идентификатор процесса равен 2978.

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

nsenter

Этот метод позволяет присоединиться к контейнеру, не выходя из контейнера.

Синтаксис

Команда nsenter –m –u –n –p –i –t containerID

Опции

  • -u используется для упоминания пространства имен Uts

  • -m используется для упоминания пространства имен монтирования

  • -n используется для упоминания пространства имен сети

  • -p используется для упоминания пространства имен процесса

  • -i s, чтобы контейнер работал в интерактивном режиме.

  • -t используется для подключения потоков ввода-вывода контейнера к операционной системе хоста.

  • containerID – это идентификатор контейнера.

  • Команда – это команда для запуска в контейнере.

-u используется для упоминания пространства имен Uts

-m используется для упоминания пространства имен монтирования

-n используется для упоминания пространства имен сети

-p используется для упоминания пространства имен процесса

-i s, чтобы контейнер работал в интерактивном режиме.

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

containerID – это идентификатор контейнера.

Команда – это команда для запуска в контейнере.

Возвращаемое значение

Никто

пример

sudo nsenter m u n p i t 2978 /bin/bash

Выход

Nsenter

Из вывода мы можем наблюдать следующие моменты –

  • Приглашение изменяется непосредственно в оболочке bash, когда мы запускаем команду nsenter .

  • Затем мы запускаем команду выхода . Теперь обычно, если вы не используете команду nsenter , контейнер будет уничтожен. Но вы заметите, что когда мы запускаем команду nsenter , контейнер все еще работает.

Приглашение изменяется непосредственно в оболочке bash, когда мы запускаем команду nsenter .

Затем мы запускаем команду выхода . Теперь обычно, если вы не используете команду nsenter , контейнер будет уничтожен. Но вы заметите, что когда мы запускаем команду nsenter , контейнер все еще работает.

Докер – Файл

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

Docker File

Если мы используем команду Docker images , мы можем видеть существующие образы в нашей системе. Из приведенного выше скриншота видно, что есть два изображения: centos и nsenter .

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

Следующие шаги объясняют, как вам следует создать файл Docker.

Шаг 1 – Создайте файл с именем Docker File и отредактируйте его с помощью vim . Обратите внимание, что имя файла должно быть «Dockerfile» с «D» в качестве заглавной.

Редактировать Vim

Шаг 2 – Создайте свой файл Docker, используя следующие инструкции.

#This is a sample Image 
FROM ubuntu 
MAINTAINER demousr@gmail.com 

RUN apt-get update 
RUN apt-get install –y nginx 
CMD [“echo”,”Image created”] 

Следующие пункты должны быть отмечены о вышеупомянутом файле –

  • Первая строка «# Это образец изображения» – это комментарий. Вы можете добавить комментарии в Docker File с помощью команды #

  • Следующая строка должна начинаться с ключевого слова FROM . Он сообщает докеру, из какого базового изображения вы хотите основать свое изображение. В нашем примере мы создаем образ из образа Ubuntu .

  • Следующая команда – это человек, который собирается сохранить этот образ. Здесь вы указываете ключевое слово MAINTAINER и просто упоминаете идентификатор электронной почты.

  • Команда RUN используется для запуска инструкций для образа. В нашем случае мы сначала обновляем нашу систему Ubuntu, а затем устанавливаем сервер nginx на наш образ Ubuntu .

  • Последняя команда используется для отображения сообщения пользователю.

Первая строка «# Это образец изображения» – это комментарий. Вы можете добавить комментарии в Docker File с помощью команды #

Следующая строка должна начинаться с ключевого слова FROM . Он сообщает докеру, из какого базового изображения вы хотите основать свое изображение. В нашем примере мы создаем образ из образа Ubuntu .

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

Команда RUN используется для запуска инструкций для образа. В нашем случае мы сначала обновляем нашу систему Ubuntu, а затем устанавливаем сервер nginx на наш образ Ubuntu .

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

Шаг 3 – Сохраните файл. В следующей главе мы обсудим, как создать изображение.

Постройте изображение

Докер – Создание файлов

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

docker build 

Давайте узнаем больше об этой команде.

сборка докера

Этот метод позволяет пользователям создавать свои собственные образы Docker.

Синтаксис

docker build  -t ImageName:TagName dir

Опции

  • -t – упомянуть тег к изображению

  • ImageName – это имя, которое вы хотите дать своему изображению.

  • TagName – это тег, который вы хотите присвоить своему изображению.

  • Dir – каталог, в котором находится файл Docker.

-t – упомянуть тег к изображению

ImageName – это имя, которое вы хотите дать своему изображению.

TagName – это тег, который вы хотите присвоить своему изображению.

Dir – каталог, в котором находится файл Docker.

Возвращаемое значение

Никто

пример

sudo docker build t myimage:0.1. 

Здесь myimage – это имя, которое мы даем изображению, а 0.1 – это номер тега, который мы даем нашему изображению.

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

Выход

Из выходных данных вы сначала увидите, что образ Ubuntu будет загружен из Docker Hub, поскольку на машине нет локального образа.

Нет изображения

Наконец, когда сборка будет завершена, все необходимые команды будут запущены на образе.

команды запускаются над изображением

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

Встроенное сообщение и идентификатор

Теперь вы можете создавать контейнеры из вашего нового изображения.

Докер – публичные репозитории

Общедоступные репозитории могут использоваться для размещения образов Docker, которые могут использоваться всеми остальными. Примером являются изображения, которые доступны в Docker Hub. Большинство изображений, таких как Centos, Ubuntu и Jenkins, являются общедоступными для всех. Мы также можем сделать наши изображения доступными, опубликовав их в общедоступном репозитории на Docker Hub.

В нашем примере мы будем использовать репозиторий myimage, встроенный в главу «Создание файлов Docker», и загрузить это изображение в Docker Hub. Давайте сначала рассмотрим изображения на нашем хосте Docker, чтобы увидеть, что мы можем отправить в реестр Docker.

Myimage

Здесь у нас есть изображение myimage: 0.1, которое было создано как часть главы «Создание файлов Docker». Давайте использовать это для загрузки в публичный репозиторий Docker.

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

Шаг 1 – Войдите в Docker Hub и создайте свой репозиторий. Это хранилище, где будет храниться ваше изображение. Перейдите на https://hub.docker.com/ и войдите в систему, используя свои учетные данные.

Docker Hub

Шаг 2 – Нажмите кнопку «Создать репозиторий» на приведенном выше экране и создайте репозиторий с именем demorep . Убедитесь, что видимость хранилища общедоступна.

Demorep

Как только репозиторий создан, запишите команду pull, которая прикреплена к репозиторию.

вместилище

Команда pull, которая будет использоваться в нашем репозитории, выглядит следующим образом:

docker pull demousr/demorep

Шаг 3 – Теперь вернитесь к Docker Host. Здесь нам нужно пометить наше изображение новым репозиторием, созданным в Docker Hub. Мы можем сделать это с помощью команды тега Docker.

Мы узнаем больше об этой команде тегов позже в этой главе.

Шаг 4 – Введите команду Docker login для входа в репозиторий Docker Hub из командной строки. Команда входа в Docker запросит у вас имя пользователя и пароль для хранилища Docker Hub.

Команда входа в Docker

Шаг 5 – После того, как изображение было помечено, пришло время отправить изображение в хранилище Docker Hub. Мы можем сделать это с помощью команды Docker push . Мы узнаем больше об этой команде позже в этой главе.

тег докера

Этот метод позволяет пометить изображение в соответствующем хранилище.

Синтаксис

docker tag imageID Repositoryname 

Опции

  • imageID – это ImageID, который необходимо пометить в хранилище.

  • Имя репозитория – это имя репозитория, к которому должен быть привязан ImageID.

imageID – это ImageID, который необходимо пометить в хранилище.

Имя репозитория – это имя репозитория, к которому должен быть привязан ImageID.

Возвращаемое значение

Никто

пример

sudo docker tag ab0c1d3744dd demousr/demorep:1.0

Выход

Пример вывода приведенного выше примера приведен ниже.

Docker Tag

толчок докера

Этот метод позволяет передавать изображения в Docker Hub.

Синтаксис

docker push Repositoryname 

Опции

  • Имя репозитория – это имя репозитория, которое необходимо отправить в Docker Hub.

Имя репозитория – это имя репозитория, которое необходимо отправить в Docker Hub.

Возвращаемое значение

Длинный идентификатор хранилища отправляется в Docker Hub.

пример

sudo docker push demousr/demorep:1.0 

Выход

Docker Push

Если вы вернетесь на страницу Docker Hub и зайдете в свой репозиторий, вы увидите имя тега в репозитории.

Имя тега в репозитории

Теперь давайте попробуем выгрузить репозиторий, который мы загрузили, на наш хост Docker. Давайте сначала удалим изображения, myimage: 0.1 и demousr / demorep: 1.0 , с локального хоста Docker. Давайте используем команду Pucker Docker, чтобы извлечь хранилище из Docker Hub.

Команда Docker Pull

На приведенном выше снимке экрана видно, что команда Pucker Docker взяла наш новый репозиторий из Docker Hub и разместила его на нашей машине.

Docker – Управление портами

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

В нашем примере мы собираемся загрузить контейнер Jenkins из Docker Hub. Затем мы сопоставим номер порта Jenkins с номером порта на хосте Docker.

Шаг 1 – Во-первых, вам нужно выполнить простую регистрацию в Docker Hub.

просто подписаться

Шаг 2 – Как только вы зарегистрируетесь, вы войдете в Docker Hub.

Зарегистрированный Docker Hub

Шаг 3 – Далее, давайте посмотрим и найдем изображение Дженкинса.

Команда запуска

Шаг 4 – Если вы прокрутите вниз на той же странице, вы увидите команду Docker pull . Это будет использоваться для загрузки образа Jenkins на локальный сервер Ubuntu.

Локальный сервер Ubuntu

Шаг 5 – Теперь перейдите на сервер Ubuntu и выполните команду –

sudo docker pull jenkins 

Проверьте изображение

Шаг 6 – Чтобы понять, какие порты открываются контейнером, вы должны использовать команду Docker inspect для проверки образа.

Давайте теперь узнаем больше об этой команде осмотра .

докер проверяет

Этот метод позволяет возвращать низкоуровневую информацию о контейнере или изображении.

Синтаксис

docker inspect Container/Image 

Опции

  • Контейнер / Изображение – Контейнер или изображение для проверки

Контейнер / Изображение – Контейнер или изображение для проверки

Возвращаемое значение

Низкоуровневая информация об изображении или контейнере в формате JSON.

пример

sudo docker inspect jenkins 

Выход

Докер проверяет вывод

Вывод команды inspect дает вывод JSON. Если мы наблюдаем вывод, мы видим, что есть раздел «ExposedPorts» и видим, что упоминаются два порта. Один – это порт данных 8080, а другой – порт управления 50000.

Чтобы запустить Jenkins и отобразить порты, вам нужно изменить команду запуска Docker и добавить опцию «p», которая определяет отображение портов. Итак, вам нужно выполнить следующую команду –

sudo docker run -p 8080:8080 -p 50000:50000 jenkins 

Левая часть сопоставления номеров портов – это порт хоста Docker для сопоставления, а правая часть – номер порта контейнера Docker.

Когда вы откроете браузер и перейдете к хосту Docker через порт 8080, вы увидите, что Jenkins запущен и работает.

Разблокировать дженкинс

Докер – Частные Реестры

У вас может возникнуть необходимость иметь свои собственные частные репозитории. Возможно, вы не захотите размещать репозитории в Docker Hub. Для этого есть сам контейнер репозитория от Docker. Давайте посмотрим, как мы можем скачать и использовать контейнер для реестра.

Шаг 1 – Используйте команду Docker run для загрузки частного реестра. Это можно сделать с помощью следующей команды.

sudo docker run –d –p 5000:5000 –-name registry registry:2

Следующие пункты должны быть отмечены о вышеупомянутой команде –

  • Реестр – это контейнер, управляемый Docker, который может использоваться для размещения частных репозиториев.

  • Номер порта, предоставляемый контейнером, равен 5000. Следовательно, с помощью команды –p мы сопоставляем этот номер порта с номером порта 5000 на нашем локальном хосте.

  • Мы просто помечаем контейнер реестра как «2», чтобы дифференцировать его на хосте Docker.

  • Опция –d используется для запуска контейнера в отдельном режиме. Это так, что контейнер может работать в фоновом режиме

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

Номер порта, предоставляемый контейнером, равен 5000. Следовательно, с помощью команды –p мы сопоставляем этот номер порта с номером порта 5000 на нашем локальном хосте.

Мы просто помечаем контейнер реестра как «2», чтобы дифференцировать его на хосте Docker.

Опция –d используется для запуска контейнера в отдельном режиме. Это так, что контейнер может работать в фоновом режиме

Отдельный режим

Шаг 2 – Давайте сделаем докер ps, чтобы увидеть, что контейнер реестра действительно работает.

Докер PS

Теперь мы подтвердили, что контейнер реестра действительно работает.

Шаг 3 – Теперь давайте пометим одно из наших существующих изображений, чтобы мы могли отправить его в наш локальный репозиторий. В нашем примере, поскольку у нас есть изображение centos, доступное локально, мы собираемся пометить его в нашем частном репозитории и добавить имя тега centos .

sudo docker tag 67591570dd29 localhost:5000/centos 

Следующие пункты должны быть отмечены о вышеупомянутой команде –

  • 67591570dd29 относится к идентификатору изображения для изображения centos .

  • localhost: 5000 – это местоположение нашего частного хранилища.

  • Мы помечаем имя хранилища как centos в нашем личном хранилище.

67591570dd29 относится к идентификатору изображения для изображения centos .

localhost: 5000 – это местоположение нашего частного хранилища.

Мы помечаем имя хранилища как centos в нашем личном хранилище.

Частный репозиторий

Шаг 4 – Теперь давайте с помощью команды Docker push отправим репозиторий в наш приватный репозиторий.

sudo docker push localhost:5000/centos 

Здесь мы отправляем изображение centos в частный репозиторий, размещенный на localhost: 5000 .

Localhost

Шаг 5 – Теперь давайте удалим локальные изображения, которые мы имеем для centos, используя команды docker rmi . Затем мы можем загрузить необходимое изображение centos из нашего частного репозитория.

sudo docker rmi centos:latest 
sudo docker rmi 67591570dd29

Команды Docker RMI

Шаг 6. Теперь, когда на локальном компьютере у нас нет изображений centos , мы можем использовать следующую команду Docker pull для извлечения изображения centos из нашего частного репозитория.

sudo docker pull localhost:5000/centos

Здесь мы переносим изображение centos в частный репозиторий, размещенный на localhost: 5000 .

Потянув Centos Image

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

Docker – Создание файла Docker веб-сервера

Мы уже узнали, как использовать Docker File для создания наших собственных пользовательских образов. Теперь давайте посмотрим, как мы можем создать образ веб-сервера, который можно использовать для создания контейнеров.

В нашем примере мы собираемся использовать веб-сервер Apache в Ubuntu для создания нашего образа. Давайте выполним шаги, приведенные ниже, чтобы создать файл Docker нашего веб-сервера.

Шаг 1 – Первый шаг – создать файл Docker. Давайте использовать vim и создадим файл Docker со следующей информацией.

FROM ubuntu 
RUN apt-get update 
RUN apt-get install –y apache2 
RUN apt-get install –y apache2-utils 
RUN apt-get clean 
EXPOSE 80 CMD [“apache2ctl”, “-D”, “FOREGROUND”]

Следующие пункты должны быть отмечены в отношении вышеуказанных утверждений –

  • Сначала мы создаем наш образ из базового образа Ubuntu.

  • Далее мы собираемся использовать команду RUN для обновления всех пакетов в системе Ubuntu.

  • Далее мы используем команду RUN для установки apache2 на наш образ.

  • Далее мы используем команду RUN для установки необходимых пакетов apache2 для нашего образа.

  • Далее мы используем команду RUN для очистки любых ненужных файлов из системы.

  • Команда EXPOSE используется для предоставления порта 80 Apache в контейнере хосту Docker.

  • Наконец, команда CMD используется для запуска apache2 в фоновом режиме.

Сначала мы создаем наш образ из базового образа Ubuntu.

Далее мы собираемся использовать команду RUN для обновления всех пакетов в системе Ubuntu.

Далее мы используем команду RUN для установки apache2 на наш образ.

Далее мы используем команду RUN для установки необходимых пакетов apache2 для нашего образа.

Далее мы используем команду RUN для очистки любых ненужных файлов из системы.

Команда EXPOSE используется для предоставления порта 80 Apache в контейнере хосту Docker.

Наконец, команда CMD используется для запуска apache2 в фоновом режиме.

Apache2

Теперь, когда данные файла введены, просто сохраните файл.

Шаг 2 – Запустите команду сборки Docker, чтобы создать файл Docker. Это можно сделать с помощью следующей команды –

sudo docker build –t=”mywebserver” . 

Мы помечаем наше изображение как mywebserver . Как только изображение будет построено, вы получите успешное сообщение о том, что файл создан.

Mywebservers

Шаг 3 – Теперь, когда файл веб-сервера создан, пришло время создать контейнер из изображения. Мы можем сделать это с помощью команды запуска Docker.

sudo docker run –d –p 80:80 mywebserver 

Команда запуска Docker

Следующие пункты должны быть отмечены о вышеупомянутой команде –

  • Номер порта, предоставляемый контейнером, равен 80. Следовательно, с помощью команды –p мы сопоставляем этот номер порта с номером порта 80 на нашем локальном хосте.

  • Опция –d используется для запуска контейнера в отдельном режиме. Это так, что контейнер может работать в фоновом режиме.

Номер порта, предоставляемый контейнером, равен 80. Следовательно, с помощью команды –p мы сопоставляем этот номер порта с номером порта 80 на нашем локальном хосте.

Опция –d используется для запуска контейнера в отдельном режиме. Это так, что контейнер может работать в фоновом режиме.

Если вы перейдете на порт 80 хоста Docker в своем веб-браузере, вы увидите, что Apache запущен и работает.

Apache работает

Docker – Команды команд

Докер имеет множество команд команд. Это команды, которые помещаются в Docker File. Давайте посмотрим на те, которые доступны.

CMD Инструкция

Эта команда используется для выполнения команды во время выполнения, когда выполняется контейнер.

Синтаксис

CMD command param1 

Опции

  • command – это команда, запускаемая при запуске контейнера.

  • param1 – это параметр, введенный в команду.

command – это команда, запускаемая при запуске контейнера.

param1 – это параметр, введенный в команду.

Возвращаемое значение

Команда будет выполнена соответственно.

пример

В нашем примере мы введем простое эхо Hello World в наш файл Docker, создадим изображение и запустим из него контейнер.

Шаг 1 – Создайте файл Docker с помощью следующих команд –

FROM ubuntu 
MAINTAINER demousr@gmail.com 
CMD [“echo” , “hello world”] 

Здесь CMD просто используется для печати Hello World .

CMD

Шаг 2 – Создайте образ с помощью команды сборки Docker.

Команда сборки

Шаг 3 – Запустите контейнер с картинки.

Запустить контейнер

ТОЧКА ВХОДА

Эта команда также может использоваться для выполнения команд во время выполнения для контейнера. Но мы можем быть более гибкими с помощью команды ENTRYPOINT.

Синтаксис

ENTRYPOINT command param1 

Опции

  • command – это команда, запускаемая при запуске контейнера.

  • param1 – это параметр, введенный в команду.

command – это команда, запускаемая при запуске контейнера.

param1 – это параметр, введенный в команду.

Возвращаемое значение

Команда будет выполнена соответственно.

пример

Давайте посмотрим на пример, чтобы понять больше о ENTRYPOINT. В нашем примере мы введем простую команду echo в нашем файле Docker, создадим образ и запустим из него контейнер.

Шаг 1 – Создайте файл Docker с помощью следующих команд –

FROM ubuntu 
MAINTAINER demousr@gmail.com 
ENTRYPOINT [“echo”]

ТОЧКА ВХОДА

Шаг 2 – Создайте образ с помощью команды сборки Docker.

Команда сборки Docker

Шаг 3 – Запустите контейнер с картинки.

Контейнер из изображения

ENV

Эта команда используется для установки переменных среды в контейнере.

Синтаксис

ENV key value 

Опции

  • Ключ – это ключ для переменной среды.

  • значение – это значение для переменной среды.

Ключ – это ключ для переменной среды.

значение – это значение для переменной среды.

Возвращаемое значение

Команда будет выполнена соответственно.

пример

В нашем примере мы введем простую команду echo в нашем файле Docker, создадим образ и запустим из него контейнер.

Шаг 1 – Создайте файл Docker с помощью следующих команд –

FROM ubuntu 
MAINTAINER demousr@gmail.com 
ENV var1=Tutorial var2=point 

ENV

Шаг 2 – Создайте образ с помощью команды сборки Docker.

ENV Build Docker Команда

Шаг 3 – Запустите контейнер с картинки.

ENV запустить контейнер

Шаг 4 – Наконец, выполните команду env, чтобы увидеть переменные среды.

Команда ENV

WORKDIR

Эта команда используется для установки рабочего каталога контейнера.

Синтаксис

WORKDIR dirname 

Опции

  • dirname – новый рабочий каталог. Если каталог не существует, он будет добавлен.

dirname – новый рабочий каталог. Если каталог не существует, он будет добавлен.

Возвращаемое значение

Команда будет выполнена соответственно.

пример

В нашем примере мы введем простую команду echo в нашем файле Docker, создадим образ и запустим из него контейнер.

Шаг 1 – Создайте файл Docker с помощью следующих команд –

FROM ubuntu 
MAINTAINER demousr@gmail.com 
WORKDIR /newtemp 
CMD pwd

WORKDIR

Шаг 2 – Создайте образ с помощью команды сборки Docker.

Workdir Build Command

Шаг 3 – Запустите контейнер с картинки.

WORKDIR Run Command

Докер – Контейнерное соединение

Связывание контейнеров позволяет нескольким контейнерам связываться друг с другом. Это лучший вариант, чем разоблачение портов. Давайте пойдем шаг за шагом и узнаем, как это работает.

Шаг 1. Загрузите изображение Jenkins, если оно еще не создано, с помощью команды Jenkins pull .

Связывание контейнера

Шаг 2 – Как только изображение станет доступным, запустите контейнер, но на этот раз вы можете указать имя контейнера, используя опцию –-name . Это будет наш исходный контейнер .

Вариант имени

Шаг 3 – Затем пришло время запустить контейнер назначения, но на этот раз мы свяжем его с нашим исходным контейнером. Для нашего контейнера назначения мы будем использовать стандартный образ Ubuntu.

Стандартный образ Ubuntu

Когда вы выполните Docker PS , вы увидите, что оба контейнера работают.

Шаг 4 – Теперь прикрепите к принимающему контейнеру.

Прием контейнера

Затем запустите команду env . Вы заметите новые переменные для связи с исходным контейнером.

Новые переменные

Source Continer

Докер – Хранение

Драйверы хранилища

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

Технология Драйвер хранилища
OverlayFS оверлей или оверлей2
AUFS AUFS
Btrfs brtfs
Диспетчер устройств Диспетчер устройств
VFS VFS
ZFS ZFS

Давайте теперь обсудим некоторые случаи, когда вы будете использовать различные драйверы хранилища –

AUFS

  • Это стабильный драйвер; может быть использован для готовых приложений.

  • Он имеет хорошее использование памяти и обеспечивает бесперебойную работу Docker для контейнеров.

  • Существует высокая активность записи, связанная с этим драйвером, который следует учитывать.

  • Это хорошо для систем, которые имеют Платформу как тип обслуживания.

Это стабильный драйвер; может быть использован для готовых приложений.

Он имеет хорошее использование памяти и обеспечивает бесперебойную работу Docker для контейнеров.

Существует высокая активность записи, связанная с этим драйвером, который следует учитывать.

Это хорошо для систем, которые имеют Платформу как тип обслуживания.

Devicemapper

  • Это стабильный драйвер; обеспечивает беспроблемное взаимодействие с докером.

  • Этот драйвер хорош для тестирования приложений в лаборатории.

  • Этот драйвер соответствует основным функциональным возможностям ядра Linux.

Это стабильный драйвер; обеспечивает беспроблемное взаимодействие с докером.

Этот драйвер хорош для тестирования приложений в лаборатории.

Этот драйвер соответствует основным функциональным возможностям ядра Linux.

Btrfs

  • Этот драйвер соответствует основным функциональным возможностям ядра Linux.

  • Существует высокая активность записи, связанная с этим драйвером, который следует учитывать.

  • Этот драйвер подходит для случаев, когда вы поддерживаете несколько пулов сборки.

Этот драйвер соответствует основным функциональным возможностям ядра Linux.

Существует высокая активность записи, связанная с этим драйвером, который следует учитывать.

Этот драйвер подходит для случаев, когда вы поддерживаете несколько пулов сборки.

Ovelay

  • Это стабильный драйвер, который соответствует основным функциям ядра Linux.

  • У него хорошее использование памяти.

  • Этот драйвер хорош для тестирования приложений в лаборатории.

Это стабильный драйвер, который соответствует основным функциям ядра Linux.

У него хорошее использование памяти.

Этот драйвер хорош для тестирования приложений в лаборатории.

ZFS

  • Это стабильный драйвер, и он хорош для тестирования приложений в лаборатории.

  • Это хорошо для систем, работающих по типу «платформа как услуга».

Это стабильный драйвер, и он хорош для тестирования приложений в лаборатории.

Это хорошо для систем, работающих по типу «платформа как услуга».

Чтобы увидеть используемый драйвер хранилища, введите команду docker info .

Синтаксис

docker info 

Опции

Никто

Возвращаемое значение

Команда предоставит всю относительную информацию о компоненте Docker, установленном на Docker Host.

пример

sudo docker info 

Выход

Следующий вывод показывает, что основным драйвером является драйвер aufs и что корневой каталог хранится в / var / lib / docker / aufs .

AUFS Driver

Объемы данных

В Docker у вас есть отдельный том, который можно использовать в разных контейнерах. Они известны как объемы данных . Некоторые особенности объема данных –

  • Они инициализируются при создании контейнера.
  • Они могут быть общими, а также повторно использованы во многих контейнерах.
  • Любые изменения самого тома могут быть сделаны напрямую.
  • Они существуют даже после удаления контейнера.

Давайте посмотрим на наш контейнер Дженкинс. Давайте сделаем проверку докера, чтобы увидеть детали этого изображения. Мы можем выполнить следующую команду, чтобы записать вывод команды docker inspect в текстовый файл, а затем просмотреть файл соответствующим образом.

sudo docker inspect Jenkins > tmp.txt

Когда вы просматриваете текстовый файл с помощью команды more , вы увидите запись как JENKINS_HOME = / var / Jenkins_home .

Это отображение, которое выполняется внутри контейнера через изображение Jenkins.

Объемы данных

Теперь предположим, что вы хотите отобразить том в контейнере на локальный том, тогда вам нужно указать опцию –v при запуске контейнера. Пример показан ниже –

sudo docker run d v /home/demo:/var/jenkins_home p 8080:8080 p 50000:50000 jenkins 

Параметр –v используется для сопоставления тома в контейнере, который является / var / jenkins_home, с местоположением на нашем хосте Docker, которое является / home / demo .

V вариант

Теперь, если вы перейдете в каталог / home / demo на вашем Docker Host после запуска вашего контейнера, вы увидите все файлы контейнера, присутствующие там.

Контейнерные Файлы

Изменение драйвера хранилища для контейнера

Если вы хотите перейти на драйвер хранилища, используемый для контейнера, вы можете сделать это при запуске контейнера. Это можно сделать с помощью параметра –volume-driver при использовании команды docker run . Пример приведен ниже –

sudo docker run d volume-driver=flocker 
   v /home/demo:/var/jenkins_home p 8080:8080 p 50000:50000 jenkins

Параметр –volume-driver используется для указания другого драйвера хранилища для контейнера.

Громкость драйвера

Чтобы подтвердить, что драйвер был изменен, сначала давайте воспользуемся командой docker ps, чтобы увидеть запущенные контейнеры и получить идентификатор контейнера. Итак, сначала выполните следующую команду –

sudo docker ps

Затем выполните проверку докера для контейнера и поместите вывод в текстовый файл с помощью команды.

sudo docker inspect 9bffb1bfebee > temp.txt 

Докер против командования

Если вы просмотрите текстовый файл и перейдете к строке с надписью VolumeDriver , вы увидите, что имя драйвера было изменено.

Имя драйвера изменилось

Создание тома

Том можно создать заранее с помощью команды docker . Давайте узнаем больше об этой команде.

Синтаксис

docker volume create –-name=volumename –-opt options

Опции

  • name – это имя тома, который нужно создать.

  • opt – это опции, которые вы можете предоставить при создании тома.

name – это имя тома, который нужно создать.

opt – это опции, которые вы можете предоставить при создании тома.

Возвращаемое значение

Команда выведет имя созданного тома.

пример

sudo docker volume create –-name = demo opt o = size = 100m 

В приведенной выше команде мы создаем том размером 100 МБ с именем demo.

Выход

Вывод вышеуказанной команды показан ниже –

Создание тома

Перечисление всех томов

Вы также можете перечислить все тома докеров на хосте докеров . Более подробная информация об этой команде приведена ниже –

Синтаксис

docker volume ls 

Опции

Никто

Возвращаемое значение

Команда выведет все тома на хост докера .

пример

sudo docker volume ls

Выход

Вывод вышеуказанной команды показан ниже –

Вывод списка всех томов

Докер – Сеть

Docker заботится о сетевых аспектах, чтобы контейнеры могли взаимодействовать с другими контейнерами, а также с Docker Host. Если вы выполните ifconfig на Docker Host, вы увидите Docker Ethernet адаптер. Этот адаптер создается, когда Docker установлен на Docker Host.

IFCONFIG

Это мост между Docker Host и Linux Host. Теперь давайте посмотрим на некоторые команды, связанные с сетью в Docker.

Список всех сетей Docker

Эта команда может быть использована для вывода списка всех сетей, связанных с Docker на хосте.

Синтаксис

docker network ls 

Опции

Никто

Возвращаемое значение

Команда выведет все сети на Docker Host.

пример

sudo docker network ls

Выход

Вывод вышеуказанной команды показан ниже

Docker Networks

Проверка сети Docker

Если вы хотите увидеть более подробную информацию о сети, связанной с Docker, вы можете использовать команду Docker network inspect .

Синтаксис

docker network inspect networkname 

Опции

  • имя сети – это имя сети, которую нужно проверить.

имя сети – это имя сети, которую нужно проверить.

Возвращаемое значение

Команда выведет все подробности о сети.

пример

sudo docker network inspect bridge 

Выход

Вывод вышеуказанной команды показан ниже –

Проверка сети Docker

Теперь давайте запустим контейнер и посмотрим, что произойдет, когда мы снова проверим сеть. Давайте раскрутим контейнер Ubuntu с помощью следующей команды –

sudo docker run –it ubuntu:latest /bin/bash 

Запустить контейнер в сети

Теперь, если мы проверим имя нашей сети с помощью следующей команды, вы увидите, что контейнер подключен к мосту.

sudo docker network inspect bridge

Контейнер прикреплен к мосту

Создание вашей новой сети

Можно создать сеть в Docker перед запуском контейнеров. Это можно сделать с помощью следующей команды –

Синтаксис

docker network create –-driver drivername name 

Опции

  • drivername – это имя, используемое для сетевого драйвера.

  • имя – это имя, данное сети.

drivername – это имя, используемое для сетевого драйвера.

имя – это имя, данное сети.

Возвращаемое значение

Команда выведет длинный идентификатор для новой сети.

пример

sudo docker network create –-driver bridge new_nw 

Выход

Вывод вышеуказанной команды показан ниже –

Длинный идентификатор

Теперь вы можете подключить новую сеть при запуске контейнера. Итак, давайте раскрутим контейнер Ubuntu с помощью следующей команды –

sudo docker run –it –network=new_nw ubuntu:latest /bin/bash

Новая сеть

И теперь, когда вы проверяете сеть с помощью следующей команды, вы увидите контейнер, подключенный к сети.

sudo docker network inspect new_nw 

Новый СЗ

Docker – Настройка Node.js

Node.js – это инфраструктура JavaScript, которая используется для разработки серверных приложений. Это платформа с открытым исходным кодом, разработанная для работы в различных операционных системах. Поскольку Node.js является популярной средой разработки, Docker также обеспечил поддержку приложений Node.js.

Теперь мы увидим различные шаги для запуска и запуска контейнера Docker для Node.js.

Шаг 1 – Первый шаг – извлечь изображение из Docker Hub. Когда вы войдете в Docker Hub, вы сможете найти и увидеть изображение для Node.js, как показано ниже. Просто введите Node в поле поиска и нажмите на ссылку узла (официальную), которая появляется в результатах поиска.

Извлечь изображение из Docker Hub

Шаг 2 – Вы увидите, что команда Docker Pull для узла в деталях хранилища в Docker Hub.

Документация

Шаг 3. На Docker Host используйте команду Docker pull, как показано выше, чтобы загрузить последний образ узла из Docker Hub.

Последнее изображение узла

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

Тяга завершена

Шаг 4 – На Docker Host, давайте воспользуемся редактором vim и создадим один файл примера Node.js. В этом файле мы добавим простую команду для отображения «HelloWorld» в командной строке.

Vim Editor

В файле Node.js добавим следующий оператор:

Console.log(‘Hello World’);

Это выведет фразу «Hello World», когда мы запустим ее через Node.js.

Привет, мир, фраза

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

Шаг 5 – Чтобы запустить наш скрипт Node.js с помощью контейнера Node Docker, нам нужно выполнить следующую инструкцию:

sudo docker run –it –rm –name = HelloWorld –v “$PWD”:/usr/src/app 
   –w /usr/src/app node node HelloWorld.js

Следующие пункты должны быть отмечены о вышеупомянутой команде –

  • Параметр –rm используется для удаления контейнера после его запуска.

  • Мы даем имя контейнеру под названием «HelloWorld».

  • Мы упоминаем о том, чтобы отобразить том в контейнере, который является / usr / src / app, в наш текущий текущий рабочий каталог. Это сделано для того, чтобы контейнер узла взял наш скрипт HelloWorld.js, который присутствует в нашем рабочем каталоге на Docker Host.

  • Опция –w используется для указания рабочего каталога, используемого Node.js.

  • Первый параметр узла используется для указания запуска образа узла.

  • Второй параметр узла используется для упоминания запуска команды узла в контейнере узла.

  • И, наконец, мы упоминаем название нашего сценария.

Параметр –rm используется для удаления контейнера после его запуска.

Мы даем имя контейнеру под названием «HelloWorld».

Мы упоминаем о том, чтобы отобразить том в контейнере, который является / usr / src / app, в наш текущий текущий рабочий каталог. Это сделано для того, чтобы контейнер узла взял наш скрипт HelloWorld.js, который присутствует в нашем рабочем каталоге на Docker Host.

Опция –w используется для указания рабочего каталога, используемого Node.js.

Первый параметр узла используется для указания запуска образа узла.

Второй параметр узла используется для упоминания запуска команды узла в контейнере узла.

И, наконец, мы упоминаем название нашего сценария.

Затем мы получим следующий вывод. И из результатов мы можем ясно видеть, что контейнер Node работал как контейнер и выполнял скрипт HelloWorld.js.

HelloWorld JS Script

Докер – Настройка MongoDB

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

Теперь мы увидим различные шаги для запуска и запуска контейнера Docker для MongoDB.

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

Монго БД

Шаг 2 – Вы увидите, что Docker вытягивает команду для Mongo в деталях хранилища в Docker Hub.

Команда подтягивания докера для MONGO

Шаг 3 – На Docker Host используйте команду Docker pull, как показано выше, чтобы загрузить последний образ Mongo из Docker Hub.

последнее изображение Монго

Команда Pull MongoDB

Шаг 4. Теперь, когда у нас есть образ для Mongo, давайте сначала запустим контейнер MongoDB, который будет нашим экземпляром для MongoDB. Для этого мы выдадим следующую команду –

sudo docker run -it -d mongo

О вышеупомянутой команде можно отметить следующие моменты:

  • Опция –it используется для запуска контейнера в интерактивном режиме.

  • Опция –d используется для запуска контейнера как процесса демона.

  • И, наконец, мы создаем контейнер из образа Монго.

Опция –it используется для запуска контейнера в интерактивном режиме.

Опция –d используется для запуска контейнера как процесса демона.

И, наконец, мы создаем контейнер из образа Монго.

Затем вы можете выполнить команду docker ps, чтобы увидеть запущенные контейнеры –

MongoDB Контейнер

Обратите внимание на следующие моменты –

  • Название контейнера: tender_poitras . Это имя будет другим, так как имя контейнеров будет меняться, когда вы раскручиваете контейнер. Но просто запишите контейнер, который вы запустили.

  • Затем также обратите внимание на номер порта, на котором он работает. Он прослушивает порт TCP 27017.

Название контейнера: tender_poitras . Это имя будет другим, так как имя контейнеров будет меняться, когда вы раскручиваете контейнер. Но просто запишите контейнер, который вы запустили.

Затем также обратите внимание на номер порта, на котором он работает. Он прослушивает порт TCP 27017.

Шаг 5 – Теперь давайте раскрутим еще один контейнер, который будет действовать как наш клиент, который будет использоваться для подключения к базе данных MongoDB. Давайте выполним следующую команду для этого –

sudo docker run –it –link=tender_poitras:mongo mongo /bin/bash 

О вышеупомянутой команде можно отметить следующие моменты:

  • Опция –it используется для запуска контейнера в интерактивном режиме.

  • Теперь мы связываем наш новый контейнер с уже запущенным контейнером сервера MongoDB. Здесь нужно указать имя уже запущенного контейнера.

  • Затем мы указываем, что хотим запустить контейнер Mongo в качестве нашего клиента, а затем запустить оболочку bin / bash в нашем новом контейнере.

Опция –it используется для запуска контейнера в интерактивном режиме.

Теперь мы связываем наш новый контейнер с уже запущенным контейнером сервера MongoDB. Здесь нужно указать имя уже запущенного контейнера.

Затем мы указываем, что хотим запустить контейнер Mongo в качестве нашего клиента, а затем запустить оболочку bin / bash в нашем новом контейнере.

Бин Баш

Теперь вы будете в новом контейнере.

Шаг 6 – Запустите команду env в новом контейнере, чтобы увидеть подробную информацию о том, как подключиться к контейнеру сервера MongoDB.

ENV Контейнер Новая Команда

Шаг 6 – Теперь пришло время подключиться к серверу MongoDB из клиентского контейнера. Мы можем сделать это с помощью следующей команды –

mongo 172.17.0.2:27017 

Следующие пункты должны быть отмечены о вышеупомянутой команде

  • Команда mongo – это команда client mongo, которая используется для подключения к базе данных MongoDB.

  • IP и номер порта – это то, что вы получаете, когда используете команду env .

Команда mongo – это команда client mongo, которая используется для подключения к базе данных MongoDB.

IP и номер порта – это то, что вы получаете, когда используете команду env .

После запуска команды вы будете подключены к базе данных MongoDB.

База данных MongoDB

Затем вы можете запустить любую команду MongoDB в командной строке. В нашем примере мы запускаем следующую команду –

use demo

Эта команда является командой MongoDB, которая используется для переключения на демонстрацию имени базы данных. Если база данных недоступна, она будет создана.

Название базы данных DEMO

Теперь вы успешно создали контейнер MongoDB клиента и сервера.

Докер – Настройка NGINX

NGINX – это популярное облегченное веб-приложение, которое используется для разработки серверных приложений. Это веб-сервер с открытым исходным кодом, разработанный для работы в различных операционных системах. Поскольку nginx является популярным веб-сервером для разработки, Docker обеспечил поддержку nginx .

Теперь мы увидим различные шаги по запуску контейнера Docker для nginx .

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

Официальная ссылка NGINX

Шаг 2 – Вы увидите, что команда Docker pull для nginx в деталях хранилища в Docker Hub.

Команда Docker Pull для NGINX

Шаг 3 – На Docker Host используйте команду Docker pull, как показано выше, чтобы загрузить последний образ nginx из Docker Hub.

NGINX Image

Шаг 4 – Теперь давайте запустим контейнер nginx с помощью следующей команды.

sudo docker run –p 8080:80 –d nginx

Мы выставляем порт на сервере nginx, который является портом 80, на порт 8080 на Docker Host.

NGINX Server

После запуска команды вы получите следующий вывод, если перейдете по URL-адресу http: // dockerhost: 8080 . Это показывает, что контейнер nginx запущен и работает.

NGINX Контейнер

Шаг 5 – Давайте посмотрим на другой пример, где мы можем разместить простую веб-страницу в нашем контейнере ngnix . В нашем примере мы создадим простой файл HelloWorld.html и разместим его в нашем контейнере nginx .

Давайте сначала создадим HTML-файл с именем HelloWorld.html.

HTML-файл

Давайте добавим простую строку Hello World в HTML-файл.

Простая линия Hello World

Затем запустим следующую команду Docker.

sudo docker run –p 8080:80 –v 
   “$PWD”:/usr/share/nginx/html:ro –d nginx 

Следующие пункты должны быть отмечены о вышеупомянутой команде –

  • Мы выставляем порт на сервере nginx, который является портом 80, на порт 8080 на Docker Host.

  • Затем мы присоединяем том к контейнеру, который является / usr / share / nginx / html, к нашему текущему рабочему каталогу. Здесь хранится наш файл HelloWorld.html.

Мы выставляем порт на сервере nginx, который является портом 80, на порт 8080 на Docker Host.

Затем мы присоединяем том к контейнеру, который является / usr / share / nginx / html, к нашему текущему рабочему каталогу. Здесь хранится наш файл HelloWorld.html.

Рабочий каталог

Теперь, если мы перейдем по URL-адресу http: // dockerhost: 8080 / HelloWorld.html, мы получим следующий результат, как и ожидалось:

Ожидаемый выход

Докер – Панель инструментов

Во вводных главах мы увидели установку панели инструментов Docker в Windows. Панель инструментов Docker разработана таким образом, чтобы контейнеры Docker можно было запускать в Windows и MacOS. Сайт для панели инструментов в Windows – https://docs.docker.com/docker-for-windows/

Панель инструментов в Windows

Для Windows вам нужно иметь Windows 10 или Windows Server 2016 с включенным Hyper-V.

Панель инструментов состоит из следующих компонентов –

  • Docker Engine – используется как базовый механизм или демон Docker, используемый для запуска контейнеров Docker.

  • Docker Machine – для запуска команд Docker.

  • Docker Compose для запуска команд Docker compose.

  • Kinematic – это графический интерфейс Docker, созданный для Windows и Mac OS.

  • Oracle virtualbox

Docker Engine – используется как базовый механизм или демон Docker, используемый для запуска контейнеров Docker.

Docker Machine – для запуска команд Docker.

Docker Compose для запуска команд Docker compose.

Kinematic – это графический интерфейс Docker, созданный для Windows и Mac OS.

Oracle virtualbox

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

Работает в Powershell

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

Windows Powershell

Вытягивание изображений и запуск контейнеров

Теперь вы также можете извлекать образы из Docker Hub и запускать контейнеры в powershell, как в Linux. Следующий пример вкратце покажет загрузку образа Ubuntu и запуск контейнера из образа.

Первым шагом является использование команды Docker pull для извлечения образа Ubuntu из Docker Hub.

Потянув изображения

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

docker run –it ubuntu /bin/bash 

Вы заметите, что команда такая же, как и в Linux.

Та же команда

Kitematic

Это GUI-эквивалент Docker в Windows. Чтобы открыть этот графический интерфейс, перейдите на панель задач и на значке Docker щелкните правой кнопкой мыши и выберите, чтобы открыть Kitematic.

Kitematic

Он предложит вам скачать графический интерфейс Kitematic. После загрузки просто распакуйте содержимое. Там будет файл с именем Kitematic.exe . Дважды щелкните этот исполняемый файл, чтобы открыть интерфейс графического интерфейса.

Затем вам будет предложено войти в Docker Hub, войти через GUI. Просто введите имя пользователя и пароль, а затем нажмите кнопку «Вход».

Подключение к Docker Hub

После входа в систему вы сможете увидеть все изображения, загруженные в систему, в левой части интерфейса.

Загруженные изображения

Справа вы найдете все изображения, доступные на Docker Hub.

Давайте рассмотрим пример, чтобы понять, как загрузить образ Node из Docker Hub с помощью Kitematic.

Шаг 1 – Введите ключевое слово узла в критериях поиска.

ключевое слово узла

Шаг 2 – Нажмите кнопку « Создать» на официальном изображении узла. Затем вы увидите загружаемое изображение.

Кнопка Создать

Как только изображение будет загружено, оно начнет запускать контейнер Node.

Узел Контейнер

Шаг 3 – Если вы перейдете на вкладку настроек , вы можете перейти к дополнительным параметрам настроек, как показано ниже.

  • Общие настройки – на этой вкладке вы можете указать имя контейнера, изменить параметры пути и удалить контейнер.

Общие настройки – на этой вкладке вы можете указать имя контейнера, изменить параметры пути и удалить контейнер.

Общие настройки

  • Порты – Здесь вы можете увидеть различные сопоставления портов. Если вы хотите, вы можете создать свои собственные сопоставления портов.

Порты – Здесь вы можете увидеть различные сопоставления портов. Если вы хотите, вы можете создать свои собственные сопоставления портов.

Порты

  • Объемы – Здесь вы можете увидеть различные отображения объема.

Объемы – Здесь вы можете увидеть различные отображения объема.

тома

  • Дополнительно – содержит расширенные настройки для контейнера.

Дополнительно – содержит расширенные настройки для контейнера.

продвинутый

Докер – Настройка ASP.Net

ASP.Net – это стандартная среда веб-разработки, предоставляемая Microsoft для разработки серверных приложений. Поскольку ASP.Net находился в разработке достаточно давно, Docker обеспечил поддержку ASP.Net.

В этой главе мы рассмотрим различные этапы настройки и запуска контейнера Docker для ASP.Net.

Предпосылки

Следующие шаги необходимо выполнить в первую очередь для запуска ASP.Net.

Шаг 1. Поскольку это может выполняться только в системах Windows, сначала необходимо убедиться, что у вас установлена ​​Windows 10 или Window Server 2016.

Шаг 2 – Затем убедитесь, что Hyper-V установлен и контейнеры установлены в системе Windows. Чтобы установить Hyper-V и контейнеры, вы можете включить или отключить функции Windows. Затем убедитесь, что опция Hyper-V и контейнеры отмечены, и нажмите кнопку OK.

Возможности системы Windows

Система может потребовать перезагрузки после этой операции.

Шаг 3 – Далее вам нужно использовать следующую команду Powershell для установки версии Docker 1.13.0rc4 . Следующая команда загрузит это и сохранит это во временном местоположении.

Invoke-WebRequest "https://test.docker.com/builds/Windows/x86_64/docker-1.13.0-
   rc4.zip" -OutFile "$env:TEMP\docker-1.13.0-rc4.zip" –UseBasicParsing 

Путь назначения

Шаг 4 – Затем вам нужно развернуть архив с помощью следующей команды powershell .

Expand-Archive -Path "$env:TEMP\docker-1.13.0-rc4.zip" -DestinationPath $env:ProgramFiles

Расширить архив

Шаг 5. Затем необходимо добавить файлы Docker в переменную среды с помощью следующей команды powershell .

$env:path += ";$env:ProgramFiles\Docker" 

Шаг 6 – Затем вам нужно зарегистрировать Docker Daemon Service, используя следующую команду powershell .

dockerd --register-service 

Шаг 7 – Наконец, вы можете запустить демон docker, используя следующую команду.

Start-Service Docker

Используйте команду docker version в powershell, чтобы убедиться, что демон docker работает

Версия Docker

Установка контейнера ASP.Net

Давайте посмотрим, как установить контейнер ASP.Net.

Шаг 1 – Первый шаг – извлечь изображение из Docker Hub. Когда вы войдете в Docker Hub, вы сможете выполнить поиск и увидеть образ Microsoft / aspnet, как показано ниже. Просто введите asp в поле поиска и нажмите на ссылку Microsoft / aspnet, которая появляется в результатах поиска.

Microsoft / ASPNET

Шаг 2 – Вы увидите, что Docker вытягивает команду для ASP.Net в деталях хранилища в Docker Hub.

Команда извлечения Docker для ASPNET

Шаг 3 – Перейдите в Docker Host и выполните команду Docker pull для образа microsoft / aspnet. Обратите внимание, что изображение довольно большое, где-то близко к 4,2 ГБ.

Microsoft / Aspnet Image

Шаг 4 – Теперь перейдите по следующему адресу https://github.com/Microsoft/aspnet-docker и загрузите весь репозиторий Git.

Шаг 5 – Создайте папку с именем App на вашем диске C. Затем скопируйте содержимое из папки 4.6.2 / sample на ваш диск C. Перейдите в Docker File в каталоге с примерами и введите следующую команду:

docker build –t aspnet-site-new –build-arg site_root=/ 

Следующие пункты должны быть отмечены о вышеупомянутой команде –

  • Он создает новый образ под названием aspnet-site-new из файла Docker.
  • Корневой путь установлен к папке localpath.

Папка Localpath

Шаг 6 – Теперь пришло время запустить контейнер. Это можно сделать с помощью следующей команды –

docker run –d –p 8000:80 –name my-running-site-new aspnet-site-new 

Новый сайт ASPNET

Шаг 7. Теперь IIS будет запущен в контейнере Docker. Чтобы найти IP-адрес контейнера Docker, вы можете выполнить команду Docker inspect, как показано ниже.

IIS работает в контейнере Docker

Докер – Облако

Docker Cloud – это сервис, предоставляемый Docker, в котором вы можете выполнять следующие операции:

  • Узлы – вы можете подключить Docker Cloud к вашим существующим облачным провайдерам, таким как Azure и AWS, чтобы ускорить работу контейнеров в этих средах.

  • Облачный репозиторий – предоставляет место, где вы можете хранить свои собственные репозитории.

  • Непрерывная интеграция – соединитесь с Github и создайте конвейер непрерывной интеграции.

  • Развертывание приложений – развертывание и масштабирование инфраструктуры и контейнеров.

  • Непрерывное развертывание – может автоматизировать развертывание.

Узлы – вы можете подключить Docker Cloud к вашим существующим облачным провайдерам, таким как Azure и AWS, чтобы ускорить работу контейнеров в этих средах.

Облачный репозиторий – предоставляет место, где вы можете хранить свои собственные репозитории.

Непрерывная интеграция – соединитесь с Github и создайте конвейер непрерывной интеграции.

Развертывание приложений – развертывание и масштабирование инфраструктуры и контейнеров.

Непрерывное развертывание – может автоматизировать развертывание.

Начиная

Вы можете перейти по следующей ссылке для начала работы с Docker Cloud – https://cloud.docker.com/

Docker Cloud

После входа в систему вам будет предоставлен следующий базовый интерфейс –

Базовый интерфейс

Подключение к облачному провайдеру

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

Шаг 1. Первый шаг – убедиться, что у вас есть нужные ключи AWS. Это можно взять с консоли aws . Войдите в свою учетную запись aws, используя следующую ссылку – https://aws.amazon.com/console/

Консоль управления AWS

Шаг 2 – После входа перейдите в раздел «Учетные данные безопасности». Запишите ключи доступа, которые будут использоваться в Docker Hub.

Раздел «Учетные данные безопасности»

Шаг 3 – Затем вам нужно создать политику в aws , которая позволит Docker просматривать экземпляры EC2. Перейти в раздел профилей в AWS . Нажмите кнопку « Создать политику» .

Создать политику

Шаг 4 – Нажмите «Создать собственную политику» и дайте название политики в виде dockercloudpolicy и определение политики, как показано ниже.

{ 
   "Version": "2012-10-17", 
   "Statement": [ { 
      "Action": [ 
         "ec2:*", 
         "iam:ListInstanceProfiles" 
      ], 
      "Effect": "Allow", 
      "Resource": "*" 
   } ] 
}

Политика обзора

Далее нажмите кнопку « Создать политику»

Шаг 5. Далее необходимо создать роль, которая будет использоваться Docker для раскрутки узлов в AWS. Для этого перейдите в раздел « Роли » в AWS и выберите параметр « Создать новую роль» .

Создать новую роль

Шаг 6 – Дайте название роли как dockercloud-role .

Следующий шаг

Шаг 7. На следующем экране перейдите к разделу «Роль для перекрестного доступа к учетной записи» и выберите «Предоставить доступ между своей учетной записью и учетной записью AWS третьей стороны».

Выберите тип роли

Шаг 8 – На следующем экране введите следующие данные –

  • В поле Идентификатор учетной записи введите идентификатор для службы Docker Cloud: 689684103426.
  • В поле Внешний идентификатор введите свое имя пользователя в Docker Cloud.

Внешний идентификатор аккаунта

Шаг 9 – Затем нажмите кнопку « Следующий шаг» и на следующем экране присоедините политику, созданную на предыдущем шаге.

Присоединить Политику

Шаг 10 – Наконец, на последнем экране, когда создается роль, обязательно скопируйте созданную роль arn .

arn:aws:iam::085363624145:role/dockercloud-role

Создать имя роли ARN

Шаг 11. Вернитесь в Docker Cloud , выберите « Поставщики облаков» и щелкните значок подключаемого модуля рядом с Amazon Web Services.

Облачные провайдеры

Введите роль Арн и нажмите кнопку Сохранить .

Учетные данные AWS

После сохранения интеграция с AWS будет завершена.

Интеграция с AWS

Настройка узлов

Как только интеграция с AWS будет завершена, следующим шагом будет настройка узла. Перейдите в раздел «Узлы» в Docker Cloud. Обратите внимание, что при настройке узлов сначала будет автоматически настроен кластер узлов.

Шаг 1 – Перейдите в раздел «Узлы» в Docker Cloud.

Раздел узлов

Шаг 2. Далее вы можете указать подробности узлов, которые будут настроены в AWS.

Мастер кластеров узлов

Затем вы можете щелкнуть кластер Launch Node, который будет отображаться в нижней части экрана. Как только узел развернут, вы получите уведомление на экране Node Cluster.

действия

Развертывание Сервиса

Следующим шагом после развертывания узла является развертывание службы. Для этого нам необходимо выполнить следующие шаги.

Шаг 1. Перейдите в раздел «Услуги» в Docker Cloud. Нажмите кнопку Создать

Секция услуг

Шаг 2 – Выберите услугу, которая требуется. В нашем случае давайте выберем монго .

Монго

Шаг 3 – На следующем экране выберите опцию Create & Deploy . Это начнет развертывание контейнера Mongo на вашем кластере узлов.

Создать Deploy

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

Контейнер в рабочем состоянии

Докер – логирование

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

Loging Daemon

На уровне ведения журнала демона доступно четыре уровня ведения журнала.

  • Debug – детализирует всю возможную информацию, обрабатываемую процессом демона.

  • Информация – в ней подробно описываются все ошибки + информация, обрабатываемая процессом демона.

  • Ошибки – в нем подробно описываются все ошибки, обработанные процессом демона.

  • Неустранимый – он только детализирует все неустранимые ошибки, обработанные процессом демона.

Debug – детализирует всю возможную информацию, обрабатываемую процессом демона.

Информация – в ней подробно описываются все ошибки + информация, обрабатываемая процессом демона.

Ошибки – в нем подробно описываются все ошибки, обработанные процессом демона.

Неустранимый – он только детализирует все неустранимые ошибки, обработанные процессом демона.

Выполните следующие шаги, чтобы узнать, как включить ведение журнала.

Шаг 1 – Во-первых, нам нужно остановить процесс демона docker , если он уже запущен. Это можно сделать с помощью следующей команды –

sudo service docker stop 

Docker Daemon Process

Шаг 2 – Теперь нам нужно запустить процесс демона docker . Но на этот раз нам нужно добавить параметр –l, чтобы указать опцию регистрации. Итак, давайте запустим следующую команду при запуске процесса демона docker .

sudo dockerd –l debug &

Следующие пункты должны быть отмечены о вышеупомянутой команде –

  • dockerd – это исполняемый файл для процесса демона docker .

  • Параметр –l используется для указания уровня ведения журнала. В нашем случае мы ставим это как отладочную

  • & используется для возврата в командную строку после включения ведения журнала.

dockerd – это исполняемый файл для процесса демона docker .

Параметр –l используется для указания уровня ведения журнала. В нашем случае мы ставим это как отладочную

& используется для возврата в командную строку после включения ведения журнала.

Точки

После запуска процесса Docker с ведением журналов вы также увидите журналы отладки , отправленные на консоль.

Отчет об ошибках

Теперь, если вы выполните какую-либо команду Docker, такую ​​как образы Docker, информация об отладке также будет отправлена ​​на консоль.

Регистрация изображений Docker

Регистрация контейнеров

Ведение журнала также доступно на уровне контейнера. Итак, в нашем примере давайте сначала раскрутим контейнер Ubuntu. Мы можем сделать это с помощью следующей команды.

sudo docker run –it ubuntu /bin/bash 

Регистрация контейнеров

Теперь мы можем использовать команду docker log для просмотра журналов контейнера.

Синтаксис

Docker logs containerID 

параметры

  • containerID – это идентификатор контейнера, для которого вам нужно просмотреть журналы.

containerID – это идентификатор контейнера, для которого вам нужно просмотреть журналы.

пример

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

sudo docker logs 6bfb1271fcdd 

Выход

Выход из контейнера

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

Докер – составь

Docker Compose используется для запуска нескольких контейнеров как одного сервиса. Например, предположим, что у вас есть приложение, которое требует NGNIX и MySQL, вы можете создать один файл, который будет запускать оба контейнера как службу без необходимости запускать каждый из них по отдельности.

В этой главе мы увидим, как начать работу с Docker Compose. Затем мы рассмотрим, как получить простой сервис с MySQL и NGNIX и запустить его с помощью Docker Compose.

Docker Compose ─ Установка

Чтобы запустить Docker Compose, необходимо выполнить следующие шаги.

Шаг 1 – Загрузите необходимые файлы с github, используя следующую команду –

curl -L "https://github.com/docker/compose/releases/download/1.10.0-rc2/dockercompose
   -$(uname -s) -$(uname -m)" -o /home/demo/docker-compose

Приведенная выше команда загрузит последнюю версию Docker Compose, которая на момент написания этой статьи была 1.10.0-rc2 . Затем он будет хранить его в каталоге / home / demo / .

Docker Compose

Шаг 2 – Далее нам нужно предоставить права на выполнение загруженному файлу Docker Compose, используя следующую команду –

chmod +x /home/demo/docker-compose

Выполнить привилегии

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

Синтаксис

docker-compose version 

параметры

  • версия – это используется, чтобы указать, что мы хотим узнать подробности о версии Docker Compose .

версия – это используется, чтобы указать, что мы хотим узнать подробности о версии Docker Compose .

Выход

Будет отображена информация о версии Docker Compose.

пример

В следующем примере показано, как получить версию docker-compose .

sudo ./docker-compose -version 

Выход

Затем вы получите следующий вывод –

Docker Compose Установка

Создание вашего первого Docker-Compose File

Теперь давайте продолжим и создадим наш первый файл Docker Compose. Все файлы Docker Compose являются файлами YAML. Вы можете создать его с помощью редактора vim. Поэтому выполните следующую команду, чтобы создать файл compose

sudo vim docker-compose.yml 

Создать файл

Давайте внимательно рассмотрим различные детали этого файла –

  • База данных и веб- ключевое слово используются для определения двух отдельных сервисов. Один будет работать с нашей базой данных mysql, а другой будет нашим веб-сервером nginx .

  • Ключевое слово image используется для указания изображения из dockerhub для наших контейнеров mysql и nginx

  • Для базы данных мы используем ключевое слово ports, чтобы указать порты, которые должны быть выставлены для mysql .

  • И затем, мы также указываем переменные окружения для mysql, которые необходимы для запуска mysql .

База данных и веб- ключевое слово используются для определения двух отдельных сервисов. Один будет работать с нашей базой данных mysql, а другой будет нашим веб-сервером nginx .

Ключевое слово image используется для указания изображения из dockerhub для наших контейнеров mysql и nginx

Для базы данных мы используем ключевое слово ports, чтобы указать порты, которые должны быть выставлены для mysql .

И затем, мы также указываем переменные окружения для mysql, которые необходимы для запуска mysql .

Теперь давайте запустим наш файл Docker Compose, используя следующую команду –

sudo ./docker-compose up 

Эта команда возьмет файл docker-compose.yml в ваш локальный каталог и начнет сборку контейнеров.

Докер Compose YML

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

Начать загрузку

И когда вы делаете docker ps , вы можете видеть, что контейнеры действительно работают.

Докер составить контейнер

Докер – Непрерывная интеграция

В Docker интегрированы многие инструменты Continuous Integrations, в которые также входит популярный инструмент CI, известный как Jenkins . В Jenkins у вас есть плагины, которые можно использовать для работы с контейнерами. Итак, давайте быстро рассмотрим плагин Docker, доступный для инструмента Jenkins.

Давайте пойдем шаг за шагом и посмотрим, что доступно в Jenkins для контейнеров Docker.

Шаг 1 – Перейдите на панель инструментов Jenkins и нажмите Manage Jenkins .

Управление Дженкинс

Шаг 2 – Перейти к управлению плагинами .

Управление плагинами

Шаг 3 – Поиск плагинов Docker. Выберите плагин Docker и нажмите кнопку « Установить без перезагрузки» .

Кнопка «Установить без перезагрузки»

Шаг 4 – После завершения установки перейдите к своей работе на панели управления Jenkins. В нашем примере у нас есть работа под названием Demo .

демонстрация

Шаг 5 – В задании, когда вы переходите к шагу сборки, теперь вы можете видеть опцию запуска и остановки контейнеров.

Добавить шаг сборки

Шаг 6 – В качестве простого примера вы можете выбрать дополнительную опцию, чтобы остановить контейнеры, когда сборка будет завершена. Затем нажмите кнопку Сохранить .

Остановить все контейнеры

Теперь просто работай в Дженкинс. В выходных данных консоли вы сможете увидеть, что команда Stop All Containers выполнена.

Консольный выход

Докер – Архитектура Кубернетес

Kubernetes – это структура оркестровки для контейнеров Docker, которая помогает представить контейнеры как сервисы для внешнего мира. Например, у вас может быть две службы: одна будет содержать nginx и mongoDB , а другая – nginx и redis . Каждая служба может иметь IP-адрес или точку обслуживания, к которой могут подключаться другие приложения. Kubernetes затем используется для управления этими услугами.

На следующей диаграмме в упрощенном формате показано, как Kubernetes работает с точки зрения архитектуры.

Kubernetes Architecture

Миньон – это узел, на котором работают все сервисы. Вы можете иметь много миньонов, бегущих в один момент времени. Каждый миньон будет принимать один или несколько POD. Каждый POD похож на хостинг сервиса. Каждый POD содержит контейнеры Docker. Каждый POD может содержать различный набор Docker-контейнеров. Затем прокси-сервер используется для контроля доступа этих служб к внешнему миру.

Kubernetes имеет несколько компонентов в своей архитектуре. Роль каждого компонента объясняется ниже & mius;

  • etcd – этот компонент является хранилищем значений ключа высокой доступности, которое используется для хранения общей конфигурации и обнаружения служб . Здесь различные приложения смогут подключаться к сервисам через сервис обнаружения .

  • Фланель – это внутренняя сеть, которая требуется для контейнеров.

  • kube-apiserver – это API, который можно использовать для организации контейнеров Docker.

  • kube-controller-manager – используется для управления сервисами Kubernetes .

  • kube-scheduler – используется для планирования контейнеров на хостах.

  • Kubelet – используется для управления запуском контейнеров через файлы манифеста .

  • kube-proxy – используется для предоставления сетевых прокси-сервисов внешнему миру.

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

Фланель – это внутренняя сеть, которая требуется для контейнеров.

kube-apiserver – это API, который можно использовать для организации контейнеров Docker.

kube-controller-manager – используется для управления сервисами Kubernetes .

kube-scheduler – используется для планирования контейнеров на хостах.

Kubelet – используется для управления запуском контейнеров через файлы манифеста .

kube-proxy – используется для предоставления сетевых прокси-сервисов внешнему миру.

Докер – Рабочая Кубернетес

В этой главе мы увидим, как установить Kubenetes через kubeadm . Это инструмент, который помогает в установке Kubernetes. Давайте пойдем шаг за шагом и узнаем, как установить Kubernetes.

Шаг 1 – Убедитесь, что версия сервера Ubuntu, с которой вы работаете, – 16.04 .

Шаг 2 – Убедитесь, что вы сгенерировали ключ ssh, который можно использовать для входа по ssh . Вы можете сделать это с помощью следующей команды.

ssh-keygen 

Это сгенерирует ключ в вашей домашней папке, как показано ниже.

Домашняя папка

Шаг 3 – Далее, в зависимости от версии Ubuntu, вам нужно будет добавить соответствующий сайт в список docker.list для менеджера пакетов apt , чтобы он мог обнаружить пакеты Kubernetes с сайта kubernetes и загрузить их соответственно.

Мы можем сделать это с помощью следующих команд.

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -  
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main” | sudo tee /etc/apt/sources.list.d/docker.list

Шаг 4 – Затем мы выпускаем обновление apt-get, чтобы убедиться, что все пакеты загружены на сервер Ubuntu.

Проблема APT Получить обновление

Шаг 5 – Установите пакет Docker, как описано в предыдущих главах.

Шаг 6 – Теперь пришло время установить kubernetes , установив следующие пакеты:

apt-get install –y kubelet kubeadm kubectl kubernetes-cni

Установить Кубенетес

Пакет Docker

Шаг 7 – Как только все пакеты kubernetes загружены, пришло время запустить контроллер kubernetes, используя следующую команду –

kubeadm init 

Кубернетес Пакеты

После этого вы получите успешное сообщение о том, что мастер запущен и работает, и теперь узлы могут присоединиться к кластеру.