docker - 如何知道 docker 是否已经登录到 docker 注册服务器

标签 docker

我不确定我是否已经使用 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/

相关文章:

azure - 更新 EKS kubernetes 集群代理池配置文件

docker - 如何在不同主机之间移动 Docker 容器?

mysql - Docker Compose phpmyadmin 未连接到 MySQL

postgresql - 如何将 docker 容器添加到现有的 docker 网络

reactjs - 容器化的 ReactJs 应用程序(来自 nginx 图像)不提供所有路由

amazon-web-services - 从Docker容器内部连接到RDS Postgresql DB时出错

docker - 如何在单个容器中运行两个Docker镜像?

docker - Docker如何将子目录映射到端口

docker - Spark Kubernetees构建docker镜像失败

docker - 如何在多台 docker 机器上构建和启动容器