Как получить URL-адрес многоконтейнерного приложения из Docker Compose Task в Azure Pipeline?

Я настроил несколько контейнеров с помощью Docker Compose Task в Azure Pipeline. Мне не удалось получить URL-адрес для приложения с несколькими контейнерами.

Нужно ли мне настраивать службу приложений вместе с задачей создания докеров?

Пожалуйста, направляйте !!!

ОБНОВЛЕНИЕ

Чтобы получить URL-адрес приложения из задачи DockerCompose, можно использовать команды Azure CLI, указанные в следующей ссылке документации, предложенной Мерлином Ляном - MSFT.

https://docs.microsoft.com/en-us/azure/container-instances/container-instances-multi-container-yaml#view-deployment-state




Ответы (1)


Не уверен, какой URL-адрес вы ищете.

1) Если вы имеете в виду URL просмотра вашего приложения, вы можете найти его на вкладке Обзор в app service:

введите здесь описание изображения

Несмотря на то, что это приложение с несколькими контейнерами, этот URL имеет фиксированный формат, и на него ничего не влияет:

http://<your-app-name>.azurewebsites.net

2) Если вам нужен интегрированный URL-адрес, который используется для уведомления / обновления службы приложения при появлении новой версии изображения.

Просто выберите Настройки контейнера => Непрерывное развертывание => URL-адрес веб-перехватчика:

введите здесь описание изображения


Нужно ли мне настраивать службу приложений вместе с задачей создания докеров?

Это зависит от вашего фактического спроса. В большинстве случаев в этом нет необходимости.

Docker compose задача, используемая для оркестровки вашего контейнера. На основании вашего последнего билета SO вы просто запускаете сервис. Фактически в Azure Web App for Containers задаче. он интегрирует эту часть:

введите здесь описание изображения

Если вы думаете, что это не может удовлетворить ваше использование, вы можете использовать Docker compose задачу.


Обновлено 02.03.2020:

Если кто-то просто создаст и отправит приложение для контейнеризации в ACR, без какой-либо интеграции со службой приложений Azure. В настоящее время URL-адрес просмотра должен выглядеть как localhost:<port>.

Чтобы получить точное имя хоста и IP-адрес, просто запустите команды, чтобы получить:

az container show --resource-group myResourceGroup --name myContainerGroup --output table
person Merlin Liang - MSFT    schedule 02.03.2020
comment
Я использую задачу запуска служб из задачи DockerCompose в конвейере выпуска. У меня есть образ докера в ACR. В настройках я предоставил сервисное соединение для ACR и также получил изображение. Но нет возможности интегрироваться с другой службой, такой как Служба приложений. В задаче DockerCompose в журналах показано создание сети докеров, но как получить доступ к приложению в браузере? - person Kumaresh Babu N S; 02.03.2020
comment
@KumareshBabuNS, могли бы вы увидеть URL-адрес приложения, как я упоминал на моем первом снимке экрана? - person Merlin Liang - MSFT; 02.03.2020
comment
Да, @Merlin Liang - MSFT. Но я не интегрировал задачу создания докеров со службой приложений. В DockerComposeTask нет настроек. - person Kumaresh Babu N S; 02.03.2020
comment
В случае задачи «Веб-приложение Azure для контейнеров» в конвейере выпуска я использовал DockerHub с общедоступным реестром, он работает нормально и может извлекать образы. Когда я использую ACR, у меня возникают проблемы с аутентификацией, например docker login в службе приложений. Невозможно получить образы докеров из ACR и нет возможности предоставить сервисное соединение для ACR в настройках задачи. - person Kumaresh Babu N S; 02.03.2020
comment
@KumareshBabuNS. Кажется, получил то, что искал. Вы имеете в виду, что просто запускаете службу с помощью задачи dockercompose и не используете / не интегрируете какую-либо службу приложений с этим контейнерным приложением? В этом случае ваш URL-адрес будет выглядеть как localhost:8080. Просто измените номер порта на тот, который вы настроили. - person Merlin Liang - MSFT; 02.03.2020
comment
Спасибо @Merlin Liang- MSFT, как получить имя хоста или IP-адрес в Azure DevOps? - person Kumaresh Babu N S; 02.03.2020
comment
@KumareshBabuNS, поскольку вы используете ACR, у нас есть команда, которая может это получить: az container show --resource-group myResourceGroup --name myContainerGroup --output table. Попробуйте выполнить следующее: docs.microsoft.com/en-us/azure/container-instances/ - person Merlin Liang - MSFT; 02.03.2020
comment
Спасибо @Merlin Liang - MSFT. В параметрах задачи «Веб-приложение Azure для контейнеров» я включил команду docker login для доступа к ACR. Он работает, извлекает образ докера из ACR и получает точный результат при развертывании службы приложений. - person Kumaresh Babu N S; 02.03.2020
comment
@KumareshBabuNS. а? Произошла какая-нибудь ошибка? Или успешно работать? - person Merlin Liang - MSFT; 02.03.2020
comment
@KumareshBabuNS. Приятно знать! Добавлю эти команды и соответствующий контент в ответ, чтобы также помочь другим :-) - person Merlin Liang - MSFT; 02.03.2020