18.3. 使用 authfile 在容器中运行 Skopeo
您可以使用身份验证文件(authfile)来指定凭证。skopeo login 命令登录到特定的注册中心,并将身份验证令牌存储在 authfile 中。使用 authfile 的优点是,无需重复输入凭证。
当在同一主机上运行时,所有容器工具,如 Skopeo、Buildah 和 Podman 共享相同的 authfile。在容器中运行 Skopeo 时,您必须通过在容器中卷挂载 authfile 来共享主机上的 authfile,或者您必须在容器内重新验证。
先决条件
-
container-tools元数据包已安装。
流程
使用 Skopeo 根据锁定的注册中心检查远程容器镜像:
podman run --rm -v $AUTHFILE:/auth.json registry.redhat.io/rhel9/skopeo inspect docker://$IMAGE
$ podman run --rm -v $AUTHFILE:/auth.json registry.redhat.io/rhel9/skopeo inspect docker://$IMAGECopy to Clipboard Copied! Toggle word wrap Toggle overflow -v $AUTHFILE:/auth.json选项会将 authfile 卷挂载在容器中的 /auth.json 处。Skopeo 现在可以访问主机上的 authfile 中的身份验证令牌,并获得对注册中心的安全访问。
其他 Skopeo 命令也可以工作,例如:
-
使用
skopeo-copy命令,通过--source-creds和--dest-creds选项在命令行中为源和目标镜像指定凭据。它还读取/auth.jsonauthfile。 -
如果要为源和目标镜像指定单独的 authfile,请使用
--source-authfile和--dest-authfile选项,并将这些 authfiles 从主机卷挂载到容器中。