名称¶
podman-login - 登录到容器镜像仓库
简介¶
podman login [选项] [镜像仓库]
描述¶
podman login 使用正确的用户名和密码登录到指定的镜像仓库服务器。如果未指定镜像仓库,则使用 registries.conf 中 [registries.search] 下的第一个镜像仓库。podman login 从标准输入(STDIN)读取用户名和密码。也可以使用 username 和 password 标志设置用户名和密码。用户可以通过设置 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 [全局选项]
podman login [选项] [镜像仓库] [全局选项]
选项¶
--authfile=path¶
身份验证文件的路径。在 Linux 上默认为 ${XDG_RUNTIME_DIR}/containers/auth.json
,在 Windows/macOS 上默认为 $HOME/.config/containers/auth.json
。该文件由 podman login 创建。如果在该路径下未找到授权状态,则会检查 $HOME/.docker/config.json
,该文件由 docker login 设置。
注意:还可以通过设置 REGISTRY_AUTH_FILE
环境变量来覆盖身份验证文件的默认路径。这可以通过 export REGISTRY_AUTH_FILE=路径 来完成。
--cert-dir=path¶
使用位于 path 路径下的证书(*.crt、*.cert、*.key)连接到镜像仓库。(默认值:/etc/containers/certs.d)有关详细信息,请参阅 containers-certs.d(5)。(此选项不适用于远程 Podman 客户端,包括 Mac 和 Windows(不含 WSL2)机器)
--compat-auth-file=路径¶
不更新默认的凭据文件,而是更新位于 path 的文件,并使用与 Docker 兼容的格式。
--get-login¶
返回该镜像仓库的已登录用户。如果未找到登录信息,则返回错误。
--help, -h¶
打印用法说明
--password, -p=密码¶
镜像仓库的密码
--password-stdin¶
从标准输入(stdin)获取密码
--secret=名称¶
从名为 name
的 podman secret 中读取镜像仓库的密码。如果未指定 --username,则使用 --username=name
。
--tls-verify¶
在联系镜像仓库时要求使用 HTTPS 并验证证书(默认值:true)。如果明确设置为 true,则使用 TLS 验证。如果设置为 false,则不使用 TLS 验证。如果未指定,则会使用 TLS 验证,除非目标镜像仓库在 containers-registries.conf(5) 中被列为不安全的镜像仓库。
--username, -u=用户名¶
镜像仓库的用户名
--verbose, -v¶
打印有关凭据存储的详细信息
示例¶
将指定镜像仓库的登录凭据添加到默认身份验证文件中;请注意,与 docker
的默认设置不同,默认凭据位于 $XDG_RUNTIME_DIR
下,这是 /run
(一个临时目录)的子目录,因此在重启后不会保留。
$ podman login quay.io
Username: umohnani
Password:
Login Succeeded!
要明确地在重启后保留凭据,您需要指定默认的持久化路径。
$ podman login --authfile ~/.config/containers/auth.json quay.io
Username: umohnani
Password:
Login Succeeded!
使用指定的用户名和密码,将本地镜像仓库的登录凭据添加到默认身份验证文件中。
$ podman login -u testuser -p testpassword localhost:5000
Login Succeeded!
为指定的镜像仓库,将登录凭据添加到备用 authfile 路径。
$ podman login --authfile authdir/myauths.json quay.io
Username: umohnani
Password:
Login Succeeded!
使用 Podman secret 作为密码添加登录凭据。
$ echo -n MySecret! | podman secret create secretname -
a0ad54df3c97cf89d5ca6193c
$ podman login --secret secretname -u testuser quay.io
Login Succeeded!
为用户 test 添加密码为 test 的登录凭据到 localhost:5000 镜像仓库,并禁用 tls 验证要求。
$ podman login --tls-verify=false -u test -p test localhost:5000
Login Succeeded!
为用户 foo 添加密码为 bar 的登录凭据到 localhost:5000 镜像仓库,并使用证书目录 /etc/containers/certs.d。
$ podman login --cert-dir /etc/containers/certs.d/ -u foo -p bar localhost:5000
Login Succeeded!
为指定的用户,将指定镜像仓库的登录凭据添加到默认身份验证文件中,密码信息通过标准输入从磁盘上的文件中提供。
$ podman login -u testuser --password-stdin < testpassword.txt docker.io
Login Succeeded!
为指定的用户,将指定镜像仓库的登录凭据添加到默认身份验证文件中,密码信息通过管道从标准输入提供。
$ echo $testpassword | podman login -u testuser --password-stdin quay.io
Login Succeeded!
以详细模式将指定镜像仓库的登录凭据添加到默认身份验证文件中。
$ podman login quay.io --verbose
Username: myusername
Password:
Used: /run/user/1000/containers/auth.json
Login Succeeded!
另请参阅¶
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 umohnani@redhat.com 首次编写