当前位置: 首页 > 面试题库 >

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

庄子平
2023-03-14
问题内容

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


问题答案:

编辑2020

再次提到( 已关闭的
)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注册表?



 类似资料:
  • 问题内容: 我已经阅读了两天的信息和样本,但不确定此后是否完成了所有身份验证过程。 我怎么知道我是否已登录,例如,我将有一个带有登录或注销按钮的导航栏,下面是否有一些变量,如代码? 问题答案: 如果用户已登录,则将为中的每个请求创建一个对象,您可以检查任何中间件是否存在: 您可以为此创建简单的中间件,该中间件将检查用户是否已登录,如果没有,则将重定向到页面: 并使用它:

  • 我想知道记录是否更新了熊猫数据框中的日期。数据框由几列组成,其中对于A的每个值,我们有几个B的值,包括开始日期和结束日期。由于时间戳,我们可以知道是否有新的记录或以前的记录已被修改。 我想知道的是如何能够检查如果一个新记录有一个日期范围接近其他记录在其组中例如B1组如果他们有一个类似的日期范围删除前一个只留下新记录已更新,但如果它没有公共范围来解释为新记录。 例如 输入数据帧: 预期输出: 谢谢你

  • 问题内容: 我使用的是Font-Awesome,但未加载字体文件时,图标显示为。 因此,我希望这些图标在未加载文件时具有。 我怎么知道这些文件已经加载,我终于可以显示图标了? 编辑: 我不是在说页面何时加载(onload),因为字体可以在整个页面之前加载。 问题答案: 现在在GitHub上: 本质上,该方法通过比较两种不同字体的字符串宽度来工作。我们使用Comic Sans作为测试字体,因为它是

  • 客户端连接到服务器,并使用头发送请求。服务器响应还包含header。 现在客户断电了。TCP或HTTP堆栈中是否有任何机制(如ping)告诉服务器客户端不在那里(除了超时)?

  • 问题内容: 我想知道是否有办法知道什么时候(在我的情况下为垂直)何时到达其容纳物的底部。 起初,我虽然在滚动条上使用,但是我不知道如何解释的属性。另外,我不确定是否正确理解了代表什么以及是否可以使用该值来获取所需的信息。 编辑 : 问题答案: 您必须将滚动条的范围添加到您的计算中。我在下面的示例中将代码添加到您的代码中。 两种替代实现(部分对Kleopatra做出反应) 或通过模型

  • 基本上,我想写这样的代码: 这是不可能的,因为没有重载 因此,我目前正在使用,但它并不完美。 有没有一种方法可以不重新声明函数就知道函数是否存在? 基本上,我想做一些类似的事情 和主要的: