Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой серии учебников показано, как контейнеризировать веб-приложение Python, а затем запустить его локально или развернуть в Службе приложений Azure. Веб-приложение App Service для контейнеров позволяет сосредоточиться на создании контейнеров, не беспокоясь об управлении и обслуживании базового оркестратора контейнеров. При создании веб-приложений Служба приложений Azure является хорошим вариантом для выполнения первых шагов с контейнерами. Это контейнерное веб-приложение может использовать либо локальный экземпляр MongoDB, либо MongoDB для Azure Cosmos DB для хранения данных. Дополнительные сведения об использовании контейнеров в Azure см. в статье "Сравнение параметров контейнера Azure".
В этом руководстве вы:
Создайте и запустите контейнер Docker локально. Смотрите статью "Сборка и запуск контейнеризованного веб-приложения Python локально".
Создайте образ контейнера Docker непосредственно в Azure. См. статью "Создание контейнерного веб-приложения Python в Azure".
Настройте службу приложений для создания веб-приложения на основе образа контейнера Docker. См. статью "Развертывание контейнерного приложения Python в службе приложений".
После выполнения статей, приведенных в этой серии учебников, вы будете иметь основу для непрерывной интеграции (CI) и непрерывного развертывания веб-приложения Python в Azure.
Обзор службы
Схема служб, поддерживающая этот учебник, содержит две среды: среду разработчика и среду Azure. В нем выделены ключевые службы Azure, используемые в процессе разработки.
Среда разработчика
Компоненты, поддерживающие среду разработчика в этом руководстве, включают:
локальная система разработки: персональный компьютер, используемый для написания кода, создания и тестирования контейнера Docker.
Контейнеризация Docker: Docker используется для упаковки приложения и его зависимостей в контейнер, который можно переносить.
средства разработки: включает редактор кода и другие необходимые средства для разработки программного обеспечения.
локальный экземпляр MongoDB: локальная база данных MongoDB, используемая для хранения данных во время разработки.
подключение к MongoDB: доступ к локальной базе данных MongoDB, предоставленный через строку для подключения.
Среда Azure
Компоненты, поддерживающие среду Azure в этом руководстве, включают:
-
- В Службе приложений Azure веб-приложение для контейнеров использует технологию контейнеров Docker для размещения контейнеров как встроенных образов, так и пользовательских образов с помощью Docker.
- Веб-приложение для контейнеров использует веб-хук в реестре контейнеров Azure (ACR), чтобы получать уведомления о новых образах. Когда новый образ отправляется в реестр, уведомление веб-перехватчика активирует службу приложений, чтобы извлечь обновление и перезапустить приложение.
-
Реестр контейнеров Azure позволяет хранить образы Docker и их компоненты и управлять ими в Azure. Он предоставляет реестр, расположенный рядом с развертываниями в Azure, который позволяет управлять доступом с помощью групп и разрешений Microsoft Entra.
В этом руководстве реестр контейнеров Azure является источником реестра, но вы также можете использовать Центр Docker или частный реестр с незначительными изменениями.
-
Azure Cosmos DB для MongoDB — это база данных NoSQL, используемая в этом руководстве для хранения данных.
Контейнерное приложение подключается к ресурсу Azure Cosmos DB и обращается к нему с помощью строки подключения, которая хранится в качестве переменной среды и предоставляется приложению.
Аутентификация
В этом руководстве вы создадите образ Docker локально или в Azure, а затем развернете его в Службе приложений Azure. Служба приложений извлекает образ контейнера из репозитория реестра контейнеров Azure.
Для безопасного извлечения образов из репозитория служба приложений использует управляемое удостоверение, назначаемое системой. Это управляемое удостоверение предоставляет веб-приложению разрешения на взаимодействие с другими ресурсами Azure, устраняя необходимость явных учетных данных. В этом руководстве управляемое удостоверение настраивается во время установки службы приложений для использования образа контейнера реестра.
В примере веб-приложения учебника для хранения данных используется MongoDB. Данный пример кода подключается к Azure Cosmos DB через строку подключения.
Необходимые условия
Чтобы завершить работу с этим руководством, вам потребуется:
Учетная запись Azure, в которой можно создать:
- реестр контейнеров Azure
- Службы приложений Azure
- Azure Cosmos DB для MongoDB (или доступ к эквиваленту). Чтобы создать базу данных Azure Cosmos DB для MongoDB, выполните действия, описанные в части 2 этого руководства.
Visual Studio Code или Azure CLIв зависимости от выбранного средства. Если вы используете Visual Studio Code, вам потребуется расширение Docker и расширение службы приложений Azure.
Пакеты для Python:
- Оболочка MongoDB (mongosh) для подключения к MongoDB .
- Flask или Django в качестве веб-платформы.
Docker установлен локально.
Пример приложения
Конечным результатом этого руководства является приложение проверки ресторанов, развернутое и работающее в Azure, которое выглядит как на следующем снимке экрана.
В этом руководстве описано, как создать приложение для проверки ресторана Python, использующее MongoDB для хранения данных. Пример приложения с помощью PostgreSQL см. в статье "Создание и развертывание веб-приложения Flask в Azure с управляемым удостоверением".