Получение и отправка образов в Docker и Azure

avatar
user3807918
8 августа 2021 в 21:03
149
1
0

Я пытаюсь загрузить и отправить образы между Docker Desktop, Azure и Visual Studio 2019.

в настоящее время я могу выполнить отправку из VS2019 с помощью параметра публикации, а также выполнить отправку в Docker и реестр контейнеров Azure.

Как выполнить извлечение из Azure в Docker? Я считаю, что существует проблема с учетными записями безопасности между двумя системами. В конце концов, моя учетная запись Docker — это не моя учетная запись Azure. Я наткнулся на эту статью

https://docs.microsoft.com/en-us/azure/container-registry/container-registry-auth-service-principal

, который содержит скрипт. Это подходящая статья для решения моей проблемы? Я сделал копию скрипта, но не могу его запустить. Если я сохраню его в файл assignpermissions.sh и запущу wsl ./assignpermissions.sh, он жалуется, что az не существует.

Итак Подходит ли эта статья для того, чтобы помочь мне (в конечном счете) переключаться между Azure и Docker? Как запустить скрипт, если вызов az вызывает ошибку? На что еще нужно обратить внимание на следующем шаге?

Источник

Ответы (1)

avatar
Srijit_Bose-MSFT
10 августа 2021 в 12:36
1

Войдите в реестр

Существует несколько способов аутентификации в реестре частных контейнеров.

  • Azure CLI

При работе в командной строке рекомендуется использовать команду Azure CLI az acr login. Например, чтобы войти в реестр с именем myregistry, войдите в Azure CLI и выполните аутентификацию в своем реестре:

.
az login
az acr login --name myregistry
  • Azure PowerShell

При работе в PowerShell рекомендуется использовать командлет Azure PowerShell Connect-AzContainerRegistry. Например, чтобы войти в реестр с именем myregistry, войдите в Azure, а затем выполните аутентификацию в своем реестре:

.
Connect-AzAccount
Connect-AzContainerRegistry -Name myregistry

Вы также можете войти с помощью docker login. Например, у вас может быть назначенный субъект-служба вашему реестру для сценария автоматизации. При выполнении следующей команды в интерактивном режиме укажите идентификатор приложения субъекта-службы (имя пользователя) и пароль при появлении запроса. Рекомендации по управлению учетными данными для входа см. в справочнике по командам docker login:

.
docker login myregistry.azurecr.io

После завершения обе команды возвращают Login Succeeded.

Примечание. Возможно, вы захотите использовать Visual Studio Code с расширением Docker для более быстрого и удобного входа в систему.

Совет. Всегда указывайте полное имя реестра (все в нижнем регистре) при входе в Docker и при пометке изображений для отправки в реестр. В примерах в этой статье полное имя — myregistry.azurecr.io.

.

Отправьте образ в реестр

Теперь, когда вы пометили образ полным путем к вашему личному реестру, вы можете отправить его в реестр с помощью docker push:

docker push myregistry.azurecr.io/samples/nginx

Извлеките образ из реестра

Используйте команду docker pull, чтобы извлечь образ из реестра:

docker pull myregistry.azurecr.io/samples/nginx