我不确定我是否已经使用 cmd: docker login 在 cmd 行中登录到 docker 注册表。如何在不尝试推送的情况下测试或查看您是否已登录?
最佳答案
编辑 2020
引用(关闭)github问题,在被指出的地方,没有实际的 session 或状态;
docker login actually isn't creating any sort of persistent session, it is only storing the user's credentials on disk so that when authentication is required it can read them to login
正如其他人所指出的,auths
条目/节点添加到 ~/.docker/config.json
成功登录后的文件(这也适用于私有(private)注册表):
{
"auths": {
"https://index.docker.io/v1/": {}
},
...
注销时,此条目将被删除:
$ docker logout
Removing login credentials for https://index.docker.io/v1/
docker的内容config.json
之后:
{
"auths": {},
...
您的脚本或代码可以解析此文件以检查您的登录状态。
替代方法(重新登录)
您可以使用 docker login <repository>
登录到 docker
$ 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
的原始解释, 检查 question: how can I tell if I'm logged into a private docker registry
关于docker - 如何知道 docker 是否已经登录到 docker 注册服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36022892/