名称

podman-image-sign - 为镜像创建签名

简介

podman image sign [选项] 镜像 [镜像 …]

描述

podman image sign 为一个或多个从注册表拉取下来的本地镜像创建本地签名。签名会写入到 $HOME/.config/containers/registries.d 中的注册表配置文件派生的目录中(如果存在),否则写入 /etc/containers/registries.d(除非在编译时被覆盖),更多信息请参见 containers-registries.d(5)。默认情况下,对于 root 用户,签名写入 /var/lib/containers/sigstore;对于非 root 用户,写入 $HOME/.local/share/containers/sigstore

选项

--all, -a

签名多架构镜像的所有清单(默认为 false)。

--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

使用 路径 中的证书(*.crt, *.cert, *.key)连接到注册表。(默认:/etc/containers/certs.d)详情请参见 containers-certs.d(5)。(此选项不适用于远程 Podman 客户端,包括 Mac 和 Windows(不包括 WSL2)机器)

--directory, -d=目录

将签名存储在指定的目录中。默认值:/var/lib/containers/sigstore

--help, -h

打印使用说明。

--sign-by=身份

覆盖签名的默认身份。

示例

使用 foo@bar.com 的身份、用户的密钥环对 busybox 镜像进行签名,并将签名保存到 /tmp/signatures/ 中。

   $ sudo podman image sign --sign-by foo@bar.com --directory /tmp/signatures docker://privateregistry.example.com/foobar

   $ sudo podman image sign --authfile=/tmp/foobar.json --sign-by foo@bar.com --directory /tmp/signatures docker://privateregistry.example.com/foobar

另请参阅

containers-certs.d(5), containers-registries.d(5)

历史

2018 年 11 月,最初由 Qi Wang (qiwan at redhat dot com) 编写