[我看到~/.dockercfg
具有您的登录凭据,但这是您的电子邮件而不是您的用户名。我看到运行docker login
会显示您的用户名并提示您更改它。但是,您可以只将用户名放入构建脚本中吗?
显示用户名:
docker info | sed '/Username:/!d;s/.* //'
将其存储在变量中:
username=$(docker info | sed '/Username:/!d;s/.* //');
echo $username
[请注意,如果您使用bash history expansion(set +H
),您将无法在command substitution周围加上双引号(例如"$(cmd...)"
,因为!
被最后一条命令替换。转义非常棘手)这些嵌套的扩展名以及如上所示在未加引号的情况下使用它更易于阅读和使用。
这可以提取出来,但从技术上讲,这是一个竞赛条件。