首页 > 解决方案 > 使用 ssh 在远程 Windows 机器上进行 Docker 登录

问题描述

我已经在 Windows 机器上安装了 ssh 代理,并且我有 powershell 脚本来构建一个容器。

我的构建.ps1

$awslogin = aws ecr get-login --no-include-email --region eu-west-2

Invoke-Expression $awslogin

cd "C:\Buildfolder"

docker build -t newimage .

docker tag newimage 123456789.dkr.ecr.us-west-1.amazonaws.com:aug2018

docker push 123456789.dkr.ecr.us-west-1.amazonaws.com:aug2018

echo "Process Completed"

我正在使用以下命令从 linux 机器调用远程 powershell 脚本。

sshpass -p 'mypasswd' ssh Administrator@X.X.X.X powershell C:/Buildfolder/MyBuild.ps1

在运行脚本时,我收到了 docker ecr login 的以下错误。

Error saving credentials: error storing credentials - err: exit status 1, out: `A specified logon session does not exist. It may already have been terminated.`

虽然我从 Windows 手动运行 powershell 脚本,但它运行良好。此外,通过 ssh 的所有其他命令都可以正常工作,但需要 docker ecr login。

我的目标是在远程 Windows 机器上构建 docker 映像。我怎样才能做到这一点?

标签: linuxshellpowershelldockerubuntu

解决方案


非常.docker/config.json相似的场景,但没有使用 powershell - 从帮助中删除“credsStore”行。

** 编辑 **

无论出于何种原因,重新启动后它停止工作。在那之后重新删除 credsStore 也没有帮助。


推荐阅读