Публичное имя DNS
По следующей ссылке я должен увидеть общедоступное DNS-имя с моим ACI-контейнером: https://feedback.azure.com/forums/602224-azure-container-instances/suggestions/32983720-automatically-assign-dns-name-to-instance
Однако никакое DNS-имя не создается. Вот как я создаю контейнер:
az container create -g ex-rg --name ex-container --image docker.io/repo/example:latest -e somevar=value --ip-address public --location westus
az container show --resource-group ex-rg --name ex-container |grep ip
"ipAddress": {
"ip": "40.112.219.202",
az container show --resource-group ex-rg --name ex-container |grep dns
"dnsNameLabel": null,```
az --version
azure-cli (2.0.27)
Я также попытался использовать terraform (который использует API), с тем же результатом.
ACI не будет нам полезен, если мы не сможем использовать DNS-имя.
5 ответов
Вам нужно указать параметр dns-name-label из CLI, чтобы получить его. Этот документ может помочь, и пример показан ниже - имея в виду, конечно, что ваше имя DNS должно быть уникальным.
az container create -g MyResourceGroup --name myalpine --image alpine:latest --ports 80 443 --dns-name-label contoso
Просто для людей, использующих docker compose с ACI, вы можете добавить свойство domainname к любой из служб в вашем файле docker compose. Каждый раз, когда вы отправляете изображение и запускаете экземпляр, Azure будет использовать это имя домена.location.azurecontainer.io в качестве полного доменного имени для вашей группы контейнеров. Затем вы можете получить доступ к каждому контейнеру с этим доменным именем и их соответствующими портами.
Согласно документу об экземплярах контейнера Azure
Похоже, что вы не можете достичь этого в CLI (см. Раздел комментариев выше документа)
Похоже, что будет несколько документов о том, как добиться этого в ближайшие несколько недель.
Вы можете использовать это, используя шаблон ARM, и все же вы не можете сделать собственный домен + SSL-сертификат, прикрепленный к нему. Вроде бесполезно:/, надеемся на обновление в ближайшее время, так как нет правильного обходного пути
После того, как вы установите dnsNameLabel в шаблоне ARM, вы можете найти его через
az container show --resource-group ex-rg --name ex-container | grep -pattern fqdn
Grepping dns не даст правильного результата.