问题: 尝试在 Azure DevOps SSH 远程计算机上执行 docker 登录时遇到错误。
错误消息: 执行命令后,我收到以下错误:
WARNING! Your password will be stored unencrypted in /***/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
描述:
我正在尝试通过 Azure DevOps SSH 在远程计算机上执行 docker 登录。但是,命令执行会导致上述有关未加密密码存储的警告。此警告建议配置凭据助手,但我不确定如何在 Azure DevOps 中的 SSH 远程环境上下文中继续操作。
我正在使用 CMD :
echo "***" | docker login --username myusername --password-stdin
尝试的步骤:
在SSH远程机器上执行docker登录命令。 查看了警告消息中提供的 Docker 文档,但不确定如何在 Azure DevOps SSH 场景中实现该解决方案。
预期行为: 成功的 docker 登录,没有警告,也没有找到安全的方法来处理 Azure DevOps SSH 环境中的凭据。
环境详情:
Azure DevOps 环境 SSH远程访问进行docker登录 在远程机器上配置 Docker 任何有关如何解决此警告并在此 SSH 环境中安全地执行 docker 登录的指导将不胜感激。谢谢!
您可以尝试按照以下步骤检查以避免出现警告消息:
将您的 Docker 登录密码添加为管道中的 秘密变量。
在管道中,运行如下命令。
echo $(Docker_Password) | docker login --username myusername --password-stdin
此外,您还可以尝试按照以下步骤在远程计算机上配置凭据助手。另请参阅“
docker login
”了解更多详情。
登录到远程计算机。如果您当前已登录 Docker,请运行“
docker logout
”以从默认存储中删除凭据。
下载 docker-credential-helpers here 并安装它。
然后找到并打开文件“
.docker/config.json
”。它通常在 Linux 或 macOS 上定位“$HOME/.docker/config.json
”,在 Windows 上定位“%USERPROFILE%/.docker/config.json
”。
在“
.docker/config.json
”文件中,指定凭证存储以告诉docker引擎根据机器的操作系统使用它。
// Specify "osxkeychain" on macOS, "wincred" on windows, and "pass" on Linux.
{
"credsStore": "osxkeychain"
}