Введение в Docker

Опубликовано: 5 Июня, 2021

Docker - это набор продуктов « платформа как услуга» (PaaS), которые используют визуализацию на уровне операционной системы для доставки программного обеспечения в пакетах, называемых контейнерами. Контейнеры изолированы друг от друга и объединяют собственное программное обеспечение, библиотеки и файлы конфигурации; они могут общаться друг с другом через четко определенные каналы. Все контейнеры запускаются одним ядром операционной системы и поэтому используют меньше ресурсов, чем виртуальная машина .

Разница между Docker-контейнерами и виртуальными машинами

1. Контейнеры Docker

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

2. Виртуальные машины

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

Важные терминологии в Docker

1. Образ Docker

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

2. Контейнер Docker

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

3. Файл Docker

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

4. Docker Engine

  • Программное обеспечение, на котором размещены контейнеры, называется Docker Engine.
  • Docker Engine - это клиент-серверное приложение.
  • Движок докера состоит из 3 основных компонентов:
    • Сервер : он отвечает за создание образов, контейнеров, сетей и томов Docker и управление ими в Docker. Это называется процессом-демоном.
    • REST API : он определяет, как приложения могут взаимодействовать с сервером, и указывает ему, что делать.
    • Клиент : Клиент - это интерфейс командной строки (CLI) докера, который позволяет нам взаимодействовать с Докером с помощью команд докера.

5. Docker Hub

  • Docker Hub - это официальный онлайн-репозиторий, где вы можете найти другие образы Docker, доступные для использования.
  • Это позволяет легко находить образы контейнеров, управлять ими и делиться ими с другими.

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

1. Удалите старую версию Docker.

 $ sudo apt-get удалить docker docker-engine docker.io containerd runc

2. Установка Docker Engine

 $ sudo apt-get update
$ sudo apt-get install 
   АПТ-транспорт-https 
   ca-сертификаты 
   завиток 
   gnupg-агент 
   общие свойства программного обеспечения
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key добавить -
$ sudo apt-key fingerprint 0EBFCD88
$ sudo add-apt-репозиторий 
  "deb [arch = amd64] https://download.docker.com/linux/ubuntu 
  $ (lsb_release -cs) 
  стабильный ночной тест »
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

Проверьте, успешно ли установлен докер в вашей системе

 $ sudo docker run привет-мир

Создать приложение в Docker

1. Создайте папку с двумя файлами (Dockerfile и main.py) в ней.

  • Dockerfile
  • main.py

2. Отредактируйте main.py с помощью приведенного ниже кода.

Python3




#!/usr/bin/env python3
print ( "Docker and GFG rock!" )

3. Отредактируйте Dockerfile с помощью следующих команд.

 ОТ python: последний
КОПИРОВАТЬ main.py /
CMD ["питон", "./main.py"]

4. Создайте образ Docker.

После того, как вы создали и отредактировали файл main.py и Dockerfile, создайте образ, содержащий ваше приложение.

 $ docker build -t python-test.

Параметр '-t' позволяет определить имя вашего изображения. «python-test» - это имя, которое мы выбрали для изображения.

5. Запустите образ Docker.

После создания образа ваш код готов к запуску.

 $ docker запустить python-test

Отправить образ в Docker Hub

1. Создайте учетную запись в Docker Hub.

2. Нажмите кнопку «Создать репозиторий», введите имя файла и нажмите «Создать».

3. Теперь «пометим наш образ» и «отправим его в репозиторий Docker Hub», который мы только что создали.

Теперь запустите следующую команду, чтобы отобразить образы докеров:

 $ docker images

Вышесказанное даст нам такой результат

 ТЕГ РЕПОЗИТОРИИ IMAGE_ID СОЗДАННЫЙ РАЗМЕР afrozchakure / python-test последняя версия c7857f97ebbd 2 часа назад 933MB

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

 docker tag <image-id> <ваше имя пользователя dockerhub> / python-test: latest
$ docker tag c7857f97ebbd afrozchakure / python-test: последний

4. Отправьте образ в репозиторий Docker Hub.

 $ docker push afrozchakure / python-test

Получите и запустите образ из Docker Hub

1. Чтобы удалить все версии определенного изображения из нашей локальной системы, мы используем для него Image ID.

 $ docker rmi -f af939ee31fdc

2. Теперь запустите образ, он получит образ из концентратора докеров, если он не существует на вашем локальном компьютере.

 $ docker запустить afrozchakure / python-test

Заключение:

Итак, вы узнали об основах Docker, о разнице между виртуальными машинами и контейнерами Docker, а также об общей терминологии Docker. Также мы установили Docker в наших системах. Мы создали приложение с помощью Docker и отправили наш образ в Docker Hub. Наконец, мы узнали, как можно удалить конкретный образ из нашей локальной системы, а затем извлечь образ из Docker Hub, если он не существует локально.