跳到主要内容

登录容器注册表

摘要

podman login [选项][*注册表*]

描述

podman login 命令使用正确的用户名和密码登录到指定的注册表服务器。如果没有指定注册表,则使用 registries.conf 文件中 [registries.search] 下的第一个注册表。podman login 会从标准输入(STDIN)读取用户名和密码。也可以使用 usernamepassword 标志来设置用户名和密码。用户可以通过设置 authfile 标志来指定身份验证文件的路径。读取和写入凭据的默认路径是 ${XDG_RUNTIME_DIR}/containers/auth.json。如果用户没有传入用户名,Podman 会使用现有的凭据。Podman 首先会在 ${XDG_RUNTIME_DIR}/containers/auth.json 中搜索用户名和密码,如果它们无效,Podman 会使用在 $HOME/.docker/config.json 中找到的任何现有凭据。如果这些凭据不存在,Podman 会创建 ${XDG_RUNTIME_DIR}/containers/auth.json(如果文件不存在),然后将从 STDIN 读取的用户名和密码作为 base64 编码的字符串存储在其中。有关 auth.json 文件的格式和配置的更多详细信息,请参阅 containers-auth.json(5)。

podman[全局选项]

podman login[全局选项]

podmanlogin[选项][注册表] [全局选项]

选项

--authfile

--cert-dir

--compat-auth-file=路径

不更新默认凭据文件,而是更新指定路径 path 下的文件,并使用 Docker 兼容的格式。

--get-login

返回注册表的已登录用户。如果未找到登录信息,则返回错误。

--help, -h

打印使用说明

--password, -p=密码

注册表的密码

--password-stdin

从标准输入读取密码

示例

登录到 docker.io 注册表,从标准输入读取用户名和密码:

podman login docker.io
Username: myusername
Password:
Login Succeeded!

使用用户名和密码标志登录到自定义注册表:

podman login --username myuser --password mypass myregistry.com
Login Succeeded!

从文件中读取密码并登录到注册表:

podman login --password-stdin myregistry.com < mypassword.txt
Login Succeeded!

--secret=name

从名为 name 的 Podman secret 中读取用于登录注册表的密码。 如果未指定 --username,则默认使用 name 作为用户名。

--tls-verify

验证注册表服务器的 TLS 证书。

--username, -u=username

用于注册表的用户名。

--verbose, -v

打印关于凭据存储的详细信息。

**示例

将指定注册表的登录凭据添加到默认的身份验证文件中; 请注意,与 docker 的默认设置不同,默认凭据位于 $XDG_RUNTIME_DIR 下, 这是 /run 的一个子目录(一个临时目录),因此不会跨重启保留。

podman login quay.io
用户名: umohnani
密码:
登录成功!

要跨重启显式保留凭据,您需要指定默认持久路径:

podman login --authfile ~/.config/containers/auth.json quay.io
用户名: umohnani
密码:
登录成功!

使用指定的用户名和密码将本地注册表的登录凭据添加到默认的身份验证文件中。

podman login -u testuser -p testpassword localhost:5000
登录成功!

为指定注册表添加替代的 authfile 路径的登录凭据。

podman login --authfile authdir/myauths.json quay.io
用户名: umohnani
密码:
登录成功!

使用 Podman secret 为密码添加登录凭据。

echo -n MySecret! | podman secret create secretname -
a0ad54df3c97cf89d5ca6193c
podman login --secret secretname -u testuser quay.io
登录成功!

禁用 TLS 验证要求,为 localhost:5000 注册表的 test 用户和 test 密码添加登录凭据。

podman login --tls-verify=false -u test -p test localhost:5000
登录成功!

使用证书目录 /etc/containers/certs.d/,为 localhost:5000 注册表的 foo 用户和 bar 密码添加登录凭据。

podman login --cert-dir /etc/containers/certs.d/ -u foo -p bar localhost:5000
登录成功!

从磁盘上的文件中通过 stdin 提供密码信息,为给定用户向默认身份验证文件添加指定注册表的登录凭据。

podman login -u testuser  --password-stdin < testpassword.txt docker.io
登录成功!

通过管道从 stdin 提供密码信息,为给定用户向默认身份验证文件添加指定注册表的登录凭据。

echo $testpassword | podman login -u testuser --password-stdin quay.io
登录成功!

以详细模式向默认身份验证文件添加指定注册表的登录凭据。

podman login quay.io --verbose
用户名: myusername
密码:
已使用: /run/user/1000/containers/auth.json
登录成功!

另请参阅

podman(1), podman-logout(1), containers-auth.json(5), containers-certs.d(5), containers-registries.conf(5), podman-secret(1), podman-secret-create(1)

历史

2017 年 8 月,最初由Urvashi Mohnani编译