首页 > 解决方案 > Github Actions 中的非交互式 docker 登录

问题描述

我正在尝试在 Windows 代理上运行的 Github Actions 步骤中运行此命令:

echo ${ACR_SERVICE_PRINCIPAL_PASSWORD} | docker login -u ${ACR_SERVICE_PRINCIPAL} --password-stdin spetestregistry.azurecr.io

但它返回此错误:

Error: Cannot perform an interactive login from a non TTY device

然后我尝试了这个命令:

echo ${ACR_SERVICE_PRINCIPAL_PASSWORD} | winpty docker login -u ${ACR_SERVICE_PRINCIPAL} --password-stdin spetestregistry.azurecr.io

这产生了这个错误:

stdin is not a tty

有谁知道我该怎么做?

标签: dockergithub-actions

解决方案


最后发现我错误地使用了 Github secrets 变量。这有效:

echo ${{ secrets.ACR_SERVICE_PRINCIPAL_PASSWORD }} | docker login --username ${{ secrets.ACR_SERVICE_PRINCIPAL }} --password-stdin spetestregistry.azurecr.io

推荐阅读