(НЕ РЕКОМЕНДУЕТСЯ) Создание образов контейнеров для использования со службой контейнеров Azure
Подсказка
Для обновленной версии этого руководства, использующего службу Azure Kubernetes Service, см. в разделе Руководство по подготовке приложения для Azure Kubernetes Service (AKS).
Предупреждение
Служба контейнеров Azure (ACS) устарела. Новые функции или возможности не добавляются в ACS. Все ИНТЕРФЕЙСы API, интерфейс портала, команды CLI и документация помечены как устаревшие.
В 2017 году мы представили службу Azure Kubernetes (AKS) для упрощения управления Kubernetes, развертывания и операций. Если вы используете оркестратор Kubernetes, пожалуйста, перейдите в AKS до 31 января 2020 г. Чтобы начать, см. статью о миграции в сервис Azure Kubernetes.
Дополнительные сведения см. в объявлении об отмене службы контейнеров Azure на Azure.com.
В этом руководстве, являющемся первой частью из семи, приложение с несколькими контейнерами подготовлено для использования в 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 и файл манифеста Kubernetes. Эти файлы используются во всем наборе учебников.
Создание образов контейнеров
Docker Compose можно использовать для автоматизации сборки образов контейнеров и развертывания многоконтейнерных приложений.
Запустите файл docker-compose.yml
, чтобы создать образ контейнера, скачать образ Redis и запустить приложение.
docker-compose up -d
По завершении используйте команду Docker , чтобы посмотреть созданные образы.
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 Container Registry.