Когда вы создаете экземпляр контейнера Azure из реестра частных контейнеров, доступ к реестру контейнеров должен осуществляться из Интернета, по крайней мере, Azure может получить к нему доступ, а не только из частной сети.
Если нет, я предлагаю вам переместить ваше изображение в Реестр контейнеров Azure , а затем создать из него экземпляр контейнера Azure. Это также частный реестр. И у него есть отличный контроль доступа .
Если у вас есть еще вопросы, пожалуйста, дайте мне знать. Я рад предоставить дополнительную помощь.
Обновление
Определение свойства imageRegistryCredentials
в шаблоне Azure, это также означает в файле yaml. Ему не нужен порт, только имя сервера. Я могу снова увидеть ошибку, которую вы получили, если добавить порт.
Попробуйте просто добавить имя сервера реестра без порта, например:
apiVersion: 2018-10-01
location: eastus
name: azureContainerGroup
properties:
containers:
- name: aci-tutorial-app
properties:
image: charlesacr.azurecr.io/nginx:v1
resources:
requests:
cpu: 1
memoryInGb: 1.5
ports:
- port: 80
osType: Linux
ipAddress:
type: Public
ports:
- protocol: tcp
port: '80'
imageRegistryCredentials:
- server: charlesacr.azurecr.io
username: charlesACR
password: xxxxxxxxxx
tags: null
type: Microsoft.ContainerInstance/containerGroups
Update-2
Наконец, с помощью теста я обнаружил, что экземпляр контейнера Azure в настоящее время не поддерживает личный реестр с сертификатом, он просто поддерживает личный реестр с именем пользователя и паролем. Может быть, это поддержит в будущем, но не сейчас. Так что если вы хотите использовать личный реестр, то вам нужно удалить сертификат аутентификации.
Вы всегда можете поднять свой отзыв по этой ссылке:
https://feedback.azure.com/forums/602224-azure-container-instances.