Введение в Docker
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, если он не существует локально.