0

另一天,docker 的另一个问题。我有一个 Windows 服务器 2019,docker 版本 18.09.03,我想将我的图像获取到 ECR。

由于某些原因,我无法收到警告 docker : WARNING! 您的密码将未加密存储我的部署工具将其视为错误,因此不会部署。因此,我一直在寻找如何以“正确”方式使用 --password-stdin 。这不是很好。

这是我现在正在使用的 Powershell 脚本。

#First step to create the file
aws ecr get-login --no-include-email | Out-File -FilePath FILEPATH 
#Second step to filter the file and just get the password.
-split @(Get-Content -Path FILEPATH) |Select-Object -Index 5 | Out-File -FilePath FILEPATH

#Get authorized but stdin warning?? 
cat FILEPATH | docker login -u AWS --password-stdin https://NUMBER.dkr.ecr.eu-west-1.amazonaws.com

我将密码传递到一个文件中,然后从中输入标准输入,它可以工作,但它会返回警告。

我也尝试过该评论(https://github.com/aws/aws-cli/issues/2875#issuecomment-433565983),但它也不接受标志。我愿意

aws ecr get-login --no-include-email --region eu-west-1 --password-stdin and Unknown options: --password-stdin
aws ecr get-login --region us-east-1 --print-password-only
--print-password-only is unknows as well)

我现在完全开始生气和沮丧。任何帮助将不胜感激,谢谢!

4

2 回答 2

0

通过 stdin 提供密码来使用 --password-stdin ,如下所示:

echo <my_password> | docker login -u <username> --password-stdin

或者,如果从文件中获取密码,如下所示:

cat <my_file> | docker login -u <username> --password-stdin
于 2022-02-15T12:44:45.233 回答
0

为了在没有任何警告的情况下登录,可以尝试--password-stdin但重要的是要记住在这种情况下 密码需要由 stdin 提供。所以--password-stdin <my-pwd>行不通。可以试试

echo <my-pwd> | docker login <registry-name> -u <username> -p <password>

或者可以做以下事情

cat ~/my-pwd.txt | docker login <registry-name> -u <username> -p <password>

以防更多信息参考以下问题:Docker:通过 CLI 使用 --password 是不安全的。使用 --password-stdin

于 2019-11-15T06:56:34.233 回答