
Для более отказоустойчивого, гибкого и экономичного развертывания и запуска веб-приложений контейнеризация приложений является одним из самых популярных подходов во всем мире. В этой статье я расскажу, как использовать Docker для преобразования веб-приложения Python Flask в изображения и отправки их в центр Docker. К концу этой части вы научитесь развертывать живые образы в концентраторе Docker, который будет использоваться для подключения к облаку.
Содержание: Преобразование веб-приложения Python в изображения и публикация с помощью Docker
- Что такое докер
- Создайте учетные данные и загрузите приложение Docker (версия для Macbook)
- Документы приложения Flask
- Документ Dockerfile
- Создайте новый тег изображения локально
- Отправьте новый образ в Docker Hub.
- Полный скрипт Python для преобразования веб-приложения Python в изображения и отправки в реальном времени с помощью Docker
Что такое докер
Docker — это платформа с открытым исходным кодом, которая позволяет разработчикам автоматизировать развертывание и запуск приложений внутри контейнеров. Контейнеры — это легкие, переносимые и изолированные среды, к. оторые упаковывают приложение с его зависимостями, такими как библиотеки и конфигурации, что обеспечивает согласованное и надежное выполнение в различных вычислительных средах.
Вот некоторые ключевые концепции, связанные с Docker:
- Контейнеризация: Docker использует технологию контейнеризации, которая включает создание и запуск контейнеров. Контейнеры обеспечивают изолированную и воспроизводимую среду, гарантируя, что приложения могут работать согласованно в различных системах.
- Образ Docker: Образ — это легкий, автономный и исполняемый пакет, который включает в себя все необходимое для запуска приложения, включая код, среду выполнения, библиотеки и зависимости. Изображения служат строительными блоками для контейнеров.
- Контейнер Docker: Контейнер — это экземпляр образа. Он работает как отдельный процесс в хост-системе, изолированный от других контейнеров и базовой инфраструктуры. Контейнеры переносимы и могут быть легко перемещены между различными системами, на которых установлен Docker.
- Dockerfile: Dockerfile — это текстовый файл, содержащий инструкции по созданию образа Docker. Он определяет базовый образ, конфигурацию, зависимости и команды, необходимые для настройки среды приложения.
- Реестр Docker: Реестр Docker — это репозиторий, в котором хранятся образы Docker. Наиболее часто используемым реестром является Docker Hub, общедоступный реестр, в котором размещается огромное количество готовых образов. Кроме того, вы можете настроить частные реестры для хранения и обмена собственными образами Docker в вашей организации.
- Docker Compose: Docker Compose — это инструмент для определения приложений с несколькими контейнерами и управления ими. Он позволяет описывать сложные среды приложений с помощью файла YAML, а затем развертывать их и управлять ими как единым блоком.
- Оркестрация: Docker Swarm и Kubernetes — это платформы оркестрации, которые помогают управлять и масштабировать контейнерные приложения на нескольких хостах или кластерах. Они предоставляют функции для автоматического развертывания, масштабирования, балансировки нагрузки и самовосстановления контейнеров.
Docker приобрел популярность благодаря своей способности упростить упаковку, развертывание и масштабирование приложений. Он способствует согласованному и эффективному рабочему процессу разработки, упрощая совместную работу команд и развертывание приложений в разных средах.
Создайте учетные данные и загрузите приложение Docker
Docker предоставляет уровень бесплатного пользования, включающий 1 частный репозиторий, который не является общедоступным. После создания новой учетной записи нам необходимо загрузить приложение Docker и установить его на локальное устройство. Он также имеет версию для Windows, Linux, версию для ОС.
Документы приложения Flask
Прежде всего, нам нужно подготовить полный набор документов приложения Flask на основе структуры инфраструктуры Flask. Одна из основных вещей, которую мы должны проверить, — это значение порта и хоста в app.py. Обязательно добавьте эти параметры в сценарий основного приложения Flask.
if __name__ == "__main__" :
app . run ( debug = True , host = "0.0.0.0" , port = 8000 )
Документ Dockerfile
На корневом уровне приложения Flask, которое находится на том же уровне, что и файл requirements.txt, нам нужно добавить файл Dockerfile. В этом файле мы в основном устанавливаем и настраиваем несколько важных компонентов для образов Docker:
- Языковая версия
- Путь к каталогу
- КОПИРОВАТЬ зависимости
- ЗАПУСК и установка зависимостей
- КОПИРОВАТЬ документы приложения Flask и поместить в место
- Командуй и беги
Вот пример:
FROM python : 3.9.6
WORKDIR /python-flaskdemo
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY ./democn ./democn
CMD [ "python" , "./democn/app.py" ]
Команда и создание нового тега Docker Image локально
Когда все документы в папке готовы, мы можем cd создать папку и собрать образ с помощью документов с помощью команды следующим образом:
docker build -t flaskdemo .
Для flaskdemo здесь это локальное имя тега изображения. Вы можете назвать как угодно. Имя образа будет отображаться в локальном интерфейсе Docker Desktop после успешной сборки.
После завершения сборки образа вы можете попробовать запустить его локально и проверить, работает ли веб-приложение должным образом. Этот процесс аналогичен локальному запуску приложения Flask.
docker run -p 8000:8000 flaskdemo
Отправка тегов локальных образов Docker в Docker Hub
Теперь пришло время отправить готовый образ веб-приложения в Docker Hub. По сути, это процесс запуска. В вашем терминале есть несколько шагов:
Шаг 1: вход в докер
Используйте эту команду, чтобы проверить, подключен ли уже рабочий стол Docker к концентратору Docker. Убедитесь, что он подключен к концентратору, или вам нужно сначала войти в систему, используя учетные данные, которые вы создали ранее.
Шаг 2: образ докера
Введите эту команду, чтобы найти тег изображения, который вы собираетесь опубликовать. Скопируйте и положите его первым, и он будет использован через мгновение.
Шаг 3: тег docker и отправка сущес. твующего образа в Docker Hub
Введите эту команду с идентификатором тега, который вы только что скопировали, путем к проекту Docker Hub и новым именем изображения, отображаемым в Docker Hub. Имя образа может отличаться от вашего локального, потому что Docker Desktop переместит визуализированные конфигурации и документы в новый образ.
docker tag tagID dockerHubname/projectname:newimagename
Полный скрипт Python для преобразования веб-приложения Python в изображения и отправки в реальном времени с помощью Docker
Если вам интересна Глава 81 — Преобразование веб-приложения Python в изображения и отправка их в реальном времени с помощью Docker, подпишитесь на нашу рассылку , добавив сообщение «Глава 81 + Сценарии полного преобразования образа Docker для веб-приложений Python». . Мы отправим вам сценарий, когда будет запущен обновленный сценарий приложения.
Надеюсь, вам понравится читать главу 81 — Преобразование веб-приложения Python в изображения и отправка их в реальном времени с помощью Docker. Если вы это сделали, пожалуйста, поддержите нас, выполнив одно из перечисленных ниже действий, потому что это всегда помогает нашему каналу.
- Поддержите и пожертвуйте нашему каналу через PayPal ( paypal.me/Easy2digital )
- Подпишитесь на мой канал и включите колокольчик уведомлений канала Easy2Digital Youtube .
- Подписывайтесь и лайкайте мою страницу Страница Easy2Digital в Facebook
- Поделитесь статьей в своей социальной сети с хэштегом #easy2digital
- Вы подписываетесь на нашу еженедельную рассылку, чтобы получать последние статьи, видео и коды скидок Easy2Digital.
- Подпишитесь на наше ежемесячное членство через Patreon, чтобы пользоваться эксклюзивными преимуществами ( www.patreon.com/louisludigital )