До тех пор, пока в какой-то момент стало возможным входить в реестр Docker без участия оператора (без какого-либо запроса), предоставив пароль учетной записи пользователя через стандартный ввод для команды docker login
. Это хорошо работало в сценариях автоматизации, где для входа в систему использовался сценарий.
Теперь тот же метод выдает предупреждение о том, что пароль хранится на компьютере в виде простого текста:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Комуизбавиться от предупреждения (и желательно, но при желании повысить безопасность, не сохраняя пароль в виде обычного текста). Я установил pass
и docker-credential-pass
, настроил все и разрешил хранить пароль в хранилище паролей, войдя в реестр. с docker login
.
Теперь приходит проблема. Мне нужно, чтобы сценарии автоматизации по-прежнему работали без вмешательства пользователя, но когда сценарий выполняет ту же команду docker login
(например, echo regpass123 | docker login -u reguser --password-stdin myregistry.mycompany.com
), появляется запрос пароля для ключевой фразы закрытого ключа GPG.
Возможно ли этопредоставить пароль без запроса ? Я предполагаю, что другой вариант - использовать закрытый ключ без какой-либо парольной фразы, но это звучит как плохая идея, хотя может даже подойти в моих сценариях. В любом случае, использование парольной фразы было бы предпочтительным. Является ли это возможным? Как?
Операционная система Ubuntu 18.04. Докер 19.03.3.