有没有办法获得当前用户的Docker Hub用户名?
我看到~/.dockercfg
有你的login凭据,但是它是你的电子邮件而不是你的用户名。 我看到正在运行的docker login
显示您的用户名并提示您更改它。 但是,你可以把你的用户名input到一个构build脚本中?
显示用户名:
docker info | sed '/Username:/!d;s/.* //'
将其存储在以下variables中:
username=$(docker info | sed '/Username:/!d;s/.* //'); echo $username
请注意,如果你有bash 历史扩展 ( set +H
),你将不能在命令replace (例如"$(cmd...)"
双引号,因为!
会被你的最后一个命令replace掉。这些嵌套的扩展,并使用它如上所示无引号更具可读性和工作。
这工作提取它,但技术上这是一个竞争条件。
username="$(sed 's/.*(//;s/).*//' <(docker login & sleep 1; kill %1))"
当然有更好的东西。