Создание образов контейнеров для использования со службой контейнеров Azure (не рекомендуется)
Совет
Обновленная версия этого руководства, использующая Служба Azure Kubernetes, см. в руководстве по подготовке приложения для Служба Azure Kubernetes (AKS).
Предупреждение
Служба контейнеров Azure (ACS) выводится из эксплуатации. В нее больше не добавляются новые компоненты или функциональные возможности. Все API, интерфейс портала, команды CLI и документы помечаются как нерекомендуемые.
В 2017 году мы объявили о выпуске Службы Azure Kubernetes (AKS), которая призвана упростить администрирование, развертывание и эксплуатацию платформы Kubernetes. Если вы используете оркестратор Kubernetes, перейдите на AKS до 31 января 2020 года. Чтобы приступить к работе, см. статью о переходе на Службу Azure Kubernetes.
Дополнительные сведения см. в статье Поддержка Службы контейнеров Azure будет прекращена 31 января 2020 года.
В этом руководстве (часть 1 из 7) выполняется подготовка многоконтейнерного приложения к использованию в Kubernetes. В частности, рассматриваются такие шаги:
- Клонирование источника приложения из GitHub.
- Создание образа контейнера из источника приложения.
- Тестирование приложения в локальной среде Docker.
После выполнения всех действий в вашей локальной среде разработки станет доступным следующее приложение:
В последующих руководствах образ контейнера передается в реестр контейнеров Azure, а затем выполняется в кластере Kubernetes, размещенном в Azure.
Подготовка к работе
Для выполнения действий, описанных в этом руководстве, необходимо базовое понимание основных понятий Docker, таких как контейнеры, образы контейнеров и основные команды Docker. При необходимости см. статью о начале работы с Docker, чтобы ознакомиться с основами работы с контейнерами.
Для работы с этим руководством требуется среда разработки Docker. Docker содержит пакеты, которые позволяют быстро настроить Docker в любой системе Mac, Windows или Linux.
Azure Cloud Shell не включает в себя компоненты Docker, необходимые для выполнения каждого шага этого руководства. Таким образом мы рекомендуем полную среду разработки Docker.
Получение кода приложения
В этом руководстве используется простое приложение для голосования. Приложение состоит из веб-компонента интерфейсной части и серверного экземпляра Redis. Веб-компонент упаковывается в пользовательский образ контейнера, а для экземпляра Redis используется неизмененный образ из Docker Hub.
Используйте git, чтобы скачать копию приложения в среду разработки.
git clone https://github.com/Azure-Samples/azure-voting-app-redis.git
Измените каталоги, чтобы использовать клонированный каталог.
cd azure-voting-app-redis
Внутри каталога содержится исходный код приложения, предварительно созданный файл Docker Compose и файл манифеста Kubernetes. Эти файлы используются в руководстве.
Создание образов контейнеров
С помощью Docker Compose можно автоматизировать создание дополнительных образов контейнеров и развертывание многоконтейнерных приложений.
Выполните файл docker-compose.yml
, чтобы создать образ контейнера, скачать образ Redis и запустить приложение.
docker-compose up -d
После завершения выполните команду docker images, чтобы увидеть созданные образы.
docker images
Вы увидите, что были скачаны или созданы три образа. Образ azure-vote-front
содержит приложение и использует образ nginx-flask
в качестве основы. Образ redis
используется для запуска экземпляра Redis.
REPOSITORY TAG IMAGE ID CREATED SIZE
azure-vote-front latest 9cc914e25834 40 seconds ago 694MB
redis latest a1b99da73d05 7 days ago 106MB
tiangolo/uwsgi-nginx-flask flask 788ca94b2313 9 months ago 694MB
Выполните команду docker ps , чтобы просмотреть запущенные контейнеры.
docker ps
Выходные данные:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
82411933e8f9 azure-vote-front "/usr/bin/supervisord" 57 seconds ago Up 30 seconds 443/tcp, 0.0.0.0:8080->80/tcp azure-vote-front
b68fed4b66b6 redis "docker-entrypoint..." 57 seconds ago Up 30 seconds 0.0.0.0:6379->6379/tcp azure-vote-back
Локальное тестирование приложения
Перейдите к https://localhost:8080
, чтобы увидеть работающее приложение.
Очистка ресурсов
Теперь, когда функциональные возможности приложения проверены, запущенные контейнеры можно остановить и удалить. Не удаляйте образы контейнеров. Образ azure-vote-front
передается в экземпляр реестра контейнеров Azure в следующем руководстве.
Чтобы остановить запущенные контейнеры, выполните следующую команду:
docker-compose stop
Чтобы удалить остановленные контейнеры и ресурсы, выполните следующую команду.
docker-compose down
По завершении у вас будет образ контейнера, содержащий приложение Azure Vote.
Дальнейшие действия
В этом руководстве вы протестировали приложение и создали для него образы контейнеров. Были выполнены следующие действия:
- Клонирование источника приложения из GitHub.
- Создание образа контейнера из источника приложения.
- Тестирование приложения в локальной среде Docker.
Переходите к следующему руководству, чтобы узнать о хранении образов контейнеров в реестре контейнеров Azure.