Я создал субъект-службу с доступом по запросу и извлечением к моему частному реестру контейнеров Azure и из него. Отправка в ACR отлично работает с помощью следующей команды:
az login --service-principal -u "someSpID" -p "someSpSecret" --tenant "someTenantID"
az acr login --name "someRegistry"
docker push "someRegistry.azurecr.io/my-image:0.0.1"
И я также могу вытащить изображение напрямую с помощью следующей команды:
docker pull "someRegistry.azurecr.io/my-image:0.0.1"
Я хочу развернуть экземпляр контейнера в частной подсети, и я настроил сетевую безопасность, чтобы разрешить доступ для моей указанной подсети.
Однако, когда я пытаюсь развернуть экземпляр контейнера с помощью следующей команды в моей частной подсети, где я указал тот же субъект службы, с которым я ранее входил в систему, я получаю ответ об ошибке.
az container create \
--name myContainerGroup \
--resource-group myResourceGroup \
--image "someRegistry.azurecr.io/my-image:0.0.1" \
--os-type Linux \
--protocol TCP \
--registry-login-server someRegistry.azurecr.io \
--registry-password someSpSecret \
--registry-username someSpID \
--vnet someVNET \
--subnet someSubnet \
--location someLocation \
--ip-address Private
Ошибка:
urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com:443
urllib3.connectionpool : https://management.azure.com:443 "PUT /subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroups/myContainerGroup?api-version=2018-10-01 HTTP/1.1" 400
msrest.http_logger : Response status: 400
The image 'someRegistry.azurecr.io/my-image:0.0.1' in container group 'myContainerGroup' is not accessible. Please check the image and registry credential.
Та же ошибка возникает, когда я пытаюсь развернуть экземпляр контейнера через портал Azure.
Когда я попытался развернуть общедоступный образ в той же подсети, все прошло успешно, поэтому это не проблема с разрешением на развертывание и не похоже на неправильные учетные данные участника службы, поскольку docker pull "someRegistry.azurecr.io/my-image:0.0.1"
работает нормально. Я не могу осмыслить это непоследовательное поведение. Есть идеи?
Allow access from
Selected networks
наAll networks
и добавилaz acr login --name "someRegistry" --username "someSpID" --password "someSpSecret
, он работает. Однако мы хотим развернуть это в частной виртуальной сети. До этого изменения конфигурации виртуальные сети уже были добавлены в выбранный список сетей. Поэтому мне интересно, связано ли это с сетевыми профилями экземпляров контейнеров. - person theknees   schedule 31.01.2020li.azure.cli.core.util : The image 'someRegistry.azurecr.io/my-image:0.0.1' in container group 'myContainerGroup' is not accessible. Please check the image and registry credential.
- person theknees   schedule 31.01.2020az container create
, поскольку создание через портал вызывает ту же ошибку. Из подобных вещей кажется, что открытия конечной точки службы для ACR в подсети и нашего белого списка подсети на конце ACR недостаточно. - person theknees   schedule 31.01.2020