Поделиться через


(НЕ РЕКОМЕНДУЕТСЯ) Создание образов контейнеров для использования со службой контейнеров 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

После завершения следующее приложение доступно в локальной среде разработки.

образ кластера Kubernetes в Azure

В последующих руководствах образ контейнера передается в реестр контейнеров 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, чтобы увидеть работающее приложение.

образ кластера Kubernetes в Azure

Очистка ресурсов

Теперь, когда функциональность приложения проверена, запущенные контейнеры можно остановить и удалить. Не удаляйте образы контейнеров. Образ azure-vote-front загружается в экземпляр реестра контейнеров Azure в следующем руководстве.

Выполните следующую команду, чтобы остановить запущенные контейнеры.

docker-compose stop

Удалите остановленные контейнеры и ресурсы с помощью следующей команды.

docker-compose down

При завершении у вас есть образ контейнера, содержащий приложение Azure Vote.

Дальнейшие действия

В этом руководстве приложение было протестировано, и были созданы образы контейнеров для приложения. Были выполнены следующие действия:

  • Клонирование источника приложения из GitHub
  • Создание образа контейнера из источника приложения
  • Протестировано приложение в локальной среде Docker

Перейдите к следующему уроку, чтобы узнать о хранении образов контейнеров в реестре Azure Container Registry.