You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Github Actions登录Docker报错:无法从非TTY设备执行交互式登录

解决Github Actions中Docker登录报错:Cannot perform an interactive login from a non-TTY device

问题根源

你在docker login命令里同时使用了-p参数和--password-stdin参数,这两个参数是互斥的。Docker检测到这种冲突后,会尝试启动交互式登录流程,但Github Actions的运行环境是非TTY设备,无法支持交互式操作,因此抛出该错误。

修复方案

任选以下两种正确的写法之一修改你的登录步骤:

方案1:直接用-p传递密码(移除--password-stdin)

- run: docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
  env:
    DOCKER_USERNAME: ${{secrets.DOCKER_USERNAME}}
    DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}

方案2:用--password-stdin通过管道传递密码(移除-p参数)

- run: echo "$DOCKER_PASSWORD" | docker login -u $DOCKER_USERNAME --password-stdin
  env:
    DOCKER_USERNAME: ${{secrets.DOCKER_USERNAME}}
    DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}

额外注意事项

确认你存储在Dependabot secrets中的DOCKER_USERNAME和DOCKER_PASSWORD(即DockerHub Token)已正确配置,且变量名与yaml文件中的引用完全一致。

内容的提问来源于stack exchange,提问作者Iynga Iyngaran Iyathurai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 23:54:30