如何docker login在脚本中预先设置我的凭据?
我正在使用一个bash脚本,基本上自动完成设置我的自定义VM等的整个过程,但是当我需要在脚本中登录docker来拉取图像时,我收到以下错误:
用户名:FATA [0000]不适合设备的ioctl
我使用的命令如下:
( echo "xxx"; echo "yyy"; echo "zzz" ) | docker login docker.somesite.org
Run Code Online (Sandbox Code Playgroud)
这可能是在不使用和处理现有.dockercfg文件的情况下实现的,
非常感谢.
寻求意味着让Fabric自动(而不是用户交互式)与shell命令交互(而不仅仅是密码请求,还有没有"stdin/interactive override"的请求用户输入apt-get install -y).
这个问题以及这些Fabric文档表明Fabric只能"将交互性"推回到运行Fabric程序的人类用户.寻求在没有任何人类存在的情况下完全自动化.还没有一个"真正的"当前问题需要解决,只是为可能的未来障碍做准备.
如果Fabric不能自动独占处理所有stdin /提示,那么与pexpect(或类似的替代机制)结合可能很有用吗?希望它不需要是"任何/或"类型的东西.为什么不在适当的情况下(如果适用)在同一程序/自动化中同时利用(pexpect和Fabric)?
这与这个问题有关,但略有不同:我不需要传递'yes'或'no',而是需要Fabric将任意字符串传递给远程shell.
例如,如果远程shell提示"你叫什么名字?" 然后我需要'先,最后'喂它.
澄清:我知道我说过任意输入,但当我尝试做一个git pull时,我真的试图将它用于SSH密钥passwd提示.
更新#1:得到了Jeff Forcier @bitprophet的回复