Azure CLI Войти в систему Docker Контейнер - PullRequest
0 голосов
/ 15 февраля 2020

Я успешно создал docker образ, который запускается внутри docker контейнера. Контейнер успешно выполняет образ (приложение. NET), но образ вылетает вскоре после запуска, поскольку обнаруживает ошибку со службами Azure. Причина в том, что контейнер docker пытается получить доступ к службам Azure для получения токена авторизации (для получения секретов из хранилища ключей) и не имеет полномочий для этого.

Следует отметить, что можно запустить приложение локально вне контейнера через CLI Azure после использования az login для проверки моих учетных данных. Затем, когда приложение запускается через Azure CLI, ему «разрешается» получать доступ к Azure Сервисам, чтобы получать токены и получать данные из моего хранилища ключей.

Хотелось бы узнать, есть ли способ запуска скрипта az login с учетными данными в контейнере docker до запуска образа приложения. NET, чтобы я мог запустить приложение из CLI Azure (внутри контейнера) после того, как мои учетные данные имеют проверено Я просмотрел документацию и не нашел способа настроить что-то подобное.

1 Ответ

1 голос
/ 17 февраля 2020

Чтобы использовать Azure CLI и войти в контейнер внутри контейнера, вам необходимо установить Azure CLI внутри контейнера, а затем войти в систему с неинтерактивной моделью. Я бы порекомендовал принципала обслуживания. Вы можете взглянуть на команду:

az login --service-principal -u <app-url> -p <password-or-cert> --tenant <tenant>

Подробнее см. Создание субъекта службы Azure с Azure CLI . После входа в систему вы можете запускать приложение по мере необходимости.

...