专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

redemonbr/podman-steroids Docker 镜像 - 轩辕镜像

podman-steroids
redemonbr/podman-steroids
包含Podman及多种增强工具的Docker镜像,用于构建、审计OCI和Docker容器,管理仓库,体积小巧(Alpine变体小于180MB)。
0 次下载
🙃 代码没问题,结果发布失败在拉镜像
中文简介版本下载
🙃 代码没问题,结果发布失败在拉镜像

Podman Steroids

Podman增强版镜像,集成多种工具用于构建、审计容器及管理仓库

镜像概述

该镜像包含用于构建、审计和发布OCI与Docker镜像及容器的工具,且镜像体积小巧(Alpine变体小于180MB)。 包含以下工具:

  • Podman 容器/ Pod 管理器
  • Qemu 机器模拟器/虚拟化工具,用于跨平台容器构建
  • crane 用于与远程镜像和仓库交互的工具
  • Cosign 容器签名工具
  • Grype 容器漏洞扫描器
  • ORAS OCI制品管理器
  • Skopeo 镜像仓库管理CLI工具
  • Syft 用于生成软件物料清单(SBOM)的工具

基础镜像

目前,仅以Alpine Linux作为基础容器系统。但由于部分glib工具的需求,计划支持更多基础镜像。

默认变体(<version>)

这是默认镜像,基于最新稳定版Alpine Linux构建,包含Qemu的所有架构模拟器。

最小变体(<version>-minimal)

最小变体仅支持有限的 foreign 架构模拟,仅支持ARM(arm/v7、arm64/v8 - 小端变体)和x86(386和amd64)架构,以减小拉取体积(小于150MB),相比默认变体更轻量。
这些是最常用的架构,构建的镜像可在大多数设备上运行,包括Apple macOS设备(Apple Silicon或Intel CPU)、x86 CPU的Linux(AMD/Intel)、ARM v7设备(如Raspberry Pi 2及更高版本)以及WSL - Windows子系统Linux。

在某些情况下,这些镜像可能能够构建其他架构(如arm/v5或arm/v6,由于与arm/v7的兼容性),但不提供支持。
如需更多架构支持,请使用包含所有Qemu模拟器的默认变体。

未来可能会移除对32位架构(即arm/v7和386)的支持,以进一步减小体积。

Edge变体(<version>-edge)

Alpine "Edge"变体包含Alpine Edge仓库中最新版本的Podman及相关工具,但不保证上游兼容性。
建议仅在开发环境中谨慎使用,以了解上游包的更新动向。为保证稳定性,避免在生产环境中使用。
有关Alpine Edge的更多信息,请查看Alpine Wiki的仓库页面。

镜像来源

  • 仓库:<[***]>
  • 问题跟踪:<[***]>
  • Containerfile:<[***]>

这些镜像每周自动更新。
镜像摘要附加了证明、软件物料清单(SBOM)和签名:

  • 证明:附加了CycloneDX格式的证明断言(JSON格式,application/cyclonedx+json)。CycloneDX是现代软件供应链标准。
  • SBOM:附加了Syft生成的SBOM(JSON格式,application/vnd.syft+json)。Syft SBOM可与Grype配合使用进行漏洞扫描。

注意:2023年8月13日前,证明采用SPDX格式(JSON,application/spdx+json)。

OCI制品

其他OCI制品推送到此仓库,包括许可证、公钥和README,带有以下标签:

  • license:指向最新许可证
  • license_<DATE>:指向指定DATE时间推送的许可证。当最新许可证更新时有用。
  • publickey:指向最新公钥
  • publickey_<DATE>:指向指定DATE时间推送的公钥。当用于签名旧镜像和制品的密钥轮换时有用。
  • readme:指向最新README
  • readme_<DATE>:指向指定DATE时间推送的README。当最新README更新时有用。

公钥可用于验证镜像和制品的真实性,使用方法如下:

bash
## 显示与镜像相关的签名和制品
$ cosign triangulate docker.io/redemonbr/podman-steroids:latest
$ cosign tree docker.io/redemonbr/podman-steroids:latest

## 拉取/下载公钥(将保存为cosign.pub)
$ oras pull docker.io/redemonbr/podman-steroids:publickey
## 验证镜像(通过清单/标签或摘要)、SBOM和证明
$ cosign verify --key cosign.pub docker.io/redemonbr/podman-steroids:latest
$ cosign verify --key cosign.pub docker.io/redemonbr/podman-steroids@sha256:...
$ cosign verify --attachment sbom --key cosign.pub docker.io/redemonbr/podman-steroids@sha256:...
$ cosign verify-attestation --type cyclonedx --key cosign.pub docker.io/redemonbr/podman-steroids@sha256:...

支持的环境变量

所有来自捆绑包和工具的环境变量均被支持,如BUILDAH_FORMAT、STORAGE_DRIVER、CONTAINER_SSHKEY等。

此镜像仅实现一个用于自定义行为的环境变量:

  • BINFMT_CONF_QUIET:若为0或false,则不会在入口点抑制qemu-binfmt-conf.sh的输出。默认抑制输出,默认值为1(抑制输出)。

使用此镜像

使用--privileged在Podman容器中运行Podman

需要特权访问。以下以Podman为例,但也适用于Docker引擎:

console
###### 在主机中 ######
$ podman run --privileged --rm --name podman-steroids -it docker.io/redemonbr/podman-steroids:latest /bin/bash

###### 在容器中 ######
## 在另一个Ubuntu容器中运行命令
$ podman run --rm --name ubuntu docker.io/ubuntu:latest "echo hello world from ubuntu container"
## 生成Ubuntu镜像的SBOM
$ syft packages --output syft-json --file syft-sbom.json registry:docker.io/ubuntu:latest
## 扫描Ubuntu SBOM中的漏洞
$ grype sbom:./syft-sbom.json
使用--privileged在Docker中运行Podman

在安装了Docker的主机中:

console
# docker run --privileged --rm --name podman-steroids redemonbr/podman-steroids:latest podman version
GitLab-CI持续集成示例

以GitLab容器仓库为例。

若示例包含签名,需在GitLab CI密钥中存储cosign密钥对(生成方法):

  • COSIGN_PRIVATE_KEY:文件类型,包含私钥内容
  • COSIGN_PUBLIC_KEY:文件类型,包含公钥内容
  • COSIGN_PASSWORD:变量类型,包含密码。记得隐藏它

GitLab CI预定义了一些变量,包括CI_REGISTRY、CI_REGISTRY_USER、CI_REGISTRY_PASSWORD和CI_PROJECT_PATH。更多信息见GitLab CI预定义变量。

基本使用示例

简单构建和推送:

yml
build:
  stage: build
  image: redemonbr/podman-steroids:latest
  variables:
    IMAGE_REPO: $CI_REGISTRY/$CI_PROJECT_PATH/my-image
    TAG: example
  script:
    - podman login --username $CI_REGISTRY_USER --password $CI_REGISTRY_PASSWORD $CI_REGISTRY
    - podman build --tag $IMAGE_REPO:$TAG .
    - podman push $IMAGE_REPO:$TAG
附加签名、SBOM和证明

构建镜像,签名镜像,生成并附加SBOM(软件物料清单)和证明到远程仓库中的镜像。

注意:假设GitLab CI密钥中已设置COSIGN_PRIVATE_KEY和COSIGN_PUBLIC_KEY

yml
build:
  stage: build
  image: redemonbr/podman-steroids:latest
  variables:
    IMAGE_REPO: $CI_REGISTRY/$CI_PROJECT_PATH/my-image
    TAG: example
  before_script:
    - podman login --username $CI_REGISTRY_USER --password $CI_REGISTRY_PASSWORD $CI_REGISTRY
    - cosign login --username $CI_REGISTRY_USER --password $CI_REGISTRY_PASSWORD $CI_REGISTRY
  script:
    - podman build --squash --jobs $(nproc) --tag $IMAGE_REPO:$TAG .
    - podman push $IMAGE_REPO:$TAG
    ## 签名镜像并推送签名,然后验证
    - cosign sign --yes --key $COSIGN_PRIVATE_KEY $IMAGE_REPO:$TAG
    - cosign verify --key $COSIGN_PUBLIC_KEY $IMAGE_REPO:$TAG
    ## 生成SBOM,附加到远程容器仓库,签名并验证
    - syft packages --output syft-json --file syft-sbom.json $IMAGE_REPO:$TAG
    - cosign attach sbom --type syft --sbom syft-sbom.json $IMAGE_REPO:$TAG
    - cosign sign --yes --attachment sbom --key $COSIGN_PRIVATE_KEY $IMAGE_REPO:$TAG
    - cosign verify --attachment sbom --key $COSIGN_PUBLIC_KEY $IMAGE_REPO:$TAG
    ## 扫描SBOM中的漏洞
    - grype sbom:./syft-sbom.json
    ## 生成证明,附加到远程容器仓库并验证
    - syft packages --output cyclonedx-json --file cyclonedx-sbom.json $IMAGE_REPO:$TAG
    - cosign attest --yes --type cyclonedx --predicate cyclonedx-sbom.json --key $COSIGN_PRIVATE_KEY $IMAGE_REPO:$TAG
    - cosign verify-attestation --type cyclonedx --key $COSIGN_PUBLIC_KEY $IMAGE_REPO:$TAG

更多信息,请查看生成此镜像的仓库。

GitLab-CI多架构镜像构建

使用清单(而非标签)构建多架构镜像并推送到远程容器仓库。

yml
build:
  stage: build
  image: redemonbr/podman-steroids:latest
  variables:
    IMAGE_REPO: docker.io/namespace/my-image
    REGISTRY_USER: my-user
    REGISTRY_PASSWORD: password-safely-stored-in-secret-manager
    MANIFEST_NAME: example
    PLATFORMS: linux/amd64,linux/i386,linux/arm64/v8,linux/arm/v7
  before_script:
    - podman login --username $REGISTRY_USER --password $REGISTRY_PASSWORD docker.io
    - cosign login --username $REGISTRY_USER --password $REGISTRY_PASSWORD docker.io
  script:
    - podman build --squash --jobs $(nproc) --platform $PLATFORMS --manifest $IMAGE_REPO:$MANIFEST_NAME .
    - podman manifest push $IMAGE_REPO:$MANIFEST_NAME $IMAGE_REPO:$MANIFEST_NAME
    ## 递归签名清单列表中包含的所有平台
    - cosign sign --yes --key $COSIGN_PRIVATE_KEY --recursive $IMAGE_REPO:$MANIFEST_NAME

更多GitLab CI使用方法,请查看本项目的源代码,了解其如何使用GitLab CI进行自动构建。

注意事项

模拟其他架构

Podman使用Buildah构建容器镜像。
虽然Buildah和Podman在构建过程中可以使用 foreign 平台的基础镜像并通过COPY/ADD添加资源,但RUN指令需要QEMU提供的模拟。
为使RUN指令能被模拟,QEMU依赖主机提供的 hypervisor(即加速器),如KVM。
若主机不支持这些加速器,foreign平台的RUN指令可能失败。
即使没有KVM,在某些情况下(如较新版本的Linux内核、高性能主机等),QEMU也能模拟foreign平台,但性能较低。有关QEMU加速器支持的更多信息,请阅读QEMU文档。

大多数云虚拟专用服务器提供商不提供支持KVM的虚拟机。因此,若在云环境中使用自定义CI运行器或在虚拟机中使用此镜像,请确保主机支持KVM。

更多信息:

  • Podman构建文档

如何允许Docker模拟其他架构

本项目提供一份关于如何让Docker模拟其他架构以运行和构建容器的实时文档。rdnxk的自定义GitLab CI运行器使用Docker,类似于本教程中的配置。

查看多架构Docker教程。

TODO

以下是未来版本的计划。不保证实现,但会在有时间时跟踪:

  • 支持无根模式
  • Fedora构建,用于glib及相关工具
  • 更多多架构教程,包括Podman
查看更多 podman-steroids 相关镜像 →
hashicorp/nomad-driver-podman logo
hashicorp/nomad-driver-podman
Nomad podman Driver是HashiCorp Nomad的容器驱动插件,支持通过podman运行容器,提供容器生命周期管理、资源监控(CPU/内存)、卷挂载、端口发布、日志转发等功能,支持rootless容器及cgroup V2。
1.5K pulls
上次更新:未知
mgoltzsche/podman logo
mgoltzsche/podman
提供静态链接的Podman容器引擎及其依赖项,适用于无需额外安装依赖即可运行Podman相关操作的场景。
9500K+ pulls
上次更新:未知
youegraillot/lidarr-on-steroids logo
youegraillot/lidarr-on-steroids
Lidarr with some muscles thanks to deemix
5100K+ pulls
上次更新:未知
nosana/podman logo
nosana/podman
无守护进程的容器引擎
10K+ pulls
上次更新:未知
gperdomor/nx-podman logo
gperdomor/nx-podman
@nx-tools/nx-container npm包的构建器辅助镜像,用于在Nx工作区中简化容器化构建流程,提供一致的构建环境和工具支持。
10K+ pulls
上次更新:未知
labring/podman logo
labring/podman
暂无描述
10K+ pulls
上次更新:未知

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

MacOS OrbStack

MacOS OrbStack 容器配置

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
redemonbr/podman-steroids
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
咨询镜像拉取问题请 提交工单,官方技术交流群:1072982923
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
咨询镜像拉取问题请提交工单,官方技术交流群:
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.