如何知道Docker是否已经登录到Docker Registry服务器

我不确定是否已经使用cmd:docker login在cmd行中登录了Docker注册表。如何在不尝试推送的情况下测试或查看是否已登录?

回答:

再次提到( 已关闭的

)github问题,指出那里没有实际的会话或状态。

docker login实际上并没有创建任何持久性会话,它只是将用户的凭据存储在磁盘上,以便在需要身份验证时可以读取它们以登录

正如其他人指出的那样,成功登录后,会将auths条目/节点添加到~/.docker/config.json文件中(这也适用于 私有 注册表):

{

"auths": {

"https://index.docker.io/v1/": {}

},

...

注销时,此条目将被删除:

$ docker logout

Removing login credentials for https://index.docker.io/v1/

docker的内容如下config.json

{

"auths": {},

...

您可以通过脚本或代码来解析此文件,以检查您的登录状态。

替代方法(重新登录)

您可以使用以下方式登录docker docker login <repository>

$ docker login

Login with your Docker ID to push and pull images from Docker Hub. If

you don't have a Docker ID, head over to https://hub.docker.com to

create one.

Username:

如果您已经登录,则提示如下:

$ docker login

Login with your Docker ID to push and pull images from Docker Hub. If

you don't have a Docker ID, head over to https://hub.docker.com to

create one.

Username (myusername): # <-- "myusername"

有关的原始说明~/.docker/config.json,请检查问题:如何确定我是否已登录到私有Docker注册表?

以上是 如何知道Docker是否已经登录到Docker Registry服务器 的全部内容, 来源链接: utcz.com/qa/435250.html

回到顶部