首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏小陈运维

    镜像搬运工 skopeo

    镜像搬运工 skopeo 介绍 skopeo 是一个命令行工具,可对容器镜像和容器存储进行操作。 在没有dockerd的环境下,使用 skopeo 操作镜像是非常方便的。 安装 # 安装 skopeo https://github.com/containers/skopeo/blob/main/install.md root@cby:~# . root@cby:~# skopeo --version root@cby:~# skopeo --help # 子命令可采用如下命令 skopeo [command] --help 命令 Usage : skopeo [flags] skopeo [command] Available Commands: copy # 复制一个镜像从 A 到 B,这里的 A 和 B 可以为本地 root@cby:~# cat skopeo.sh #!

    1.3K00编辑于 2022-11-27
  • 来自专栏k8s技术圈

    镜像搬运工具 Skopeo 使用

    /result/bin/skopeo skopeo" 使用 nixos/nix:2.3.12 来构建静态链接的 Skopeo 二进制文件需要完整构建 Skopeo 所有的依赖,比如 glibc、systemd /cmd/skopeo FROM alpine:3.12 COPY --from=skopeo-builder /usr/bin/skopeo /usr/bin/skopeo # FROM scratch # COPY --from=skopeo-builder /usr/bin/skopeo /skopeo # DOCKER_BUILDKIT=1 docker build -o type=local, 的话,建议使用 skopeo sync 替代它?。 还是 skopeo copy 走起!

    6.6K71发布于 2021-07-23
  • 来自专栏全栈工程师修炼之路

    如何使用Skopeo做一个优雅的镜像搬运工

    什么是Skopeo? /containers/skopeo.git $ cd skopeo $ sed -i 's#proxy.golang.org#https://goproxy.cn#g' skopeo/Makefile /cmd/skopeo # 4.运行编译生成的skopeo可执行文件 $ cd ./bin # /opt/software/skopeo/bin $ . /skopeo --help # 子命令可采用如下命令 skopeo [command] --help 命令 Usage: skopeo [flags] skopeo [command] -v, --version Version for Skopeo 2.Skopeo初体验 描述: 在使用体验skopeo之前,我们需要了解一哈 Skopeo 可以在那些图像和存储库类型上执行镜像操作

    6.7K21编辑于 2022-09-29
  • 来自专栏云原生知识宇宙

    【云原生实用技巧】使用 skopeo 批量同步 helm chart 依赖镜像

    摘自 Kubernetes 实践指南skopeo 是什么?skepeo 是一个开源的容器镜像搬运工具,比较通用,各种镜像仓库都支持。安装 skopeo参考官方的 安装指引。 registry.imroc.cc/prometheus"cat images.txt | while read linedo while : do skopeo 登录方法很简单,跟 docker login 一样,指定要登录的镜像仓库地址:skopeo login registry.imroc.cc然后输入用户名密码即可。执行同步最后执行 . FAQ为什么不用 skopeo 配置文件方式批量同步?因为配置相对复杂和麻烦,不如直接用一个列表文本,每行代表一个镜像,通过脚本读取每一行分别进行同步,这样更简单。

    1.3K20编辑于 2022-08-03
  • 9.8k star,skopeo镜像搬运工,CICD 的秘密武器!

    skopeo,这个工具是目前用到最频繁的工具之一,而最频繁的操作就是通过github的action从docker官方仓库同步到阿里云镜像仓库,然后就可以在国内环境去使用了。 关于skopeo这个工具是containers社区维护的开源工具,是一个命令行工具,专门用于操作容器镜像和镜像仓库,最大的特点在可以无需docker环境就可以直接与仓库交互,非常适合CI/CD的场景。 skopeo的特点无需 Docker 守护进程不需要 docker pull / docker push 依赖 Docker Daemon,skopeo 直接用 HTTP(S)/registry API skopeo使用场景1. 在 CI/CD 里做镜像扫描或同步比如Jenkins Pipeline,不想拉取镜像浪费空间,可以只用 skopeo inspect 获取 digest,然后做安全扫描或比较:digest=$(skopeo

    52710编辑于 2025-09-24
  • 来自专栏CNCF

    4 种方法将 Docker Registry 迁移至 Harbor

    为了追求高效,我们不使用 docker retag 方案,下面看一下方案二: K8sMeetup 方案二:skopeo 在《镜像搬运工 skopeo 初体验》一文中介绍过可以使用 skopeo copy 使用 skopeo copy ? 使用 skopeo sync ? 在《镜像搬运工 skopeo 初体验》中提到过 skopeo 支持的镜像格式有如下几种: ? skopeo dir 那么先来看一下 skopeo dir 是什么样子的? 然后使用 skopeo copy 或者 skopeo sync 将捞出来的镜像 push 到 harbor 使用 skopeo copy ?

    2.4K10发布于 2021-03-15
  • 来自专栏全栈工程师修炼之路

    Harbor记异常迁移恢复实践

    工具可以识别的目录架构, 即将 harbor 中的镜像导出为 skopeo dir 的形式。 # 定义生成 skopeo 目录 mkdir ./docker/skopeo/devops/bmcx:1.1.0-SNAPSHOT ln . /registry/v2/blobs/sha256" REPO_DIR="docker/registry/v2/repositories" # 定义生成 skopeo 目录 SKOPEO_DIR { for project in $(ls ${SKOPEO_DIR}); do skopeo sync --insecure-policy --src-tls-verify=false - done } gen_skopeo_dir sync_image 执行结果如下: WeiyiGeek.skopeo 镜像同步 Step 7.镜像同步完成后,我们可以通过访问harbor前端UI

    1.3K10编辑于 2022-09-29
  • 来自专栏全栈工程师修炼之路

    6.Docker使用辅助工具汇总

    /skopeo 特点: skopeo是一个命令行实用程序,执行对容器的图像和图像库的各种操作。 skopeo不要求用户运行,作为根用户做它的大部分操作。 skopeo不需要守护进程来运行,以执行其操作。 当需要存放库,skopeo可以通过身份验证适当凭据和证书。 skopeo # openSUSE sudo zypper install skopeo # alpine sudo apk add skopeo # macOS brew install skopeo git clone https://github.com/containers/skopeo skopeo cd !

    2.8K20发布于 2020-10-23
  • 来自专栏东风微鸣技术博客

    K8S 1.20 弃用 Docker 评估之 Docker CLI 的替代产品

    开源的 3 件套:Buildah、Podman 和 Skopeo,理由如下: •功能齐全、强大:Buildah、Podman 和 Skopeo 可以完全覆盖 Docker 的功能,并且还额外提供一些 Buildah Podman Skopeo 3 件套介绍 RedHat 提供了一组在没有容器引擎的情况下可以运行的命令行工具。 Buildah 、Podman、Skopeo 工具都更加轻量级,并专注于一组特性。 镜像构建操作一般在 CICD 机器上或容器中)或 Buildah + Podman + Skopeo 三件套。 : https://github.com/containers/skopeo

    1.8K20编辑于 2022-04-22
  • 来自专栏nginx

    从腾讯云镜像仓库迁移镜像到火山云:全面指南

    skopeo:用于直接同步镜像。 文件传输工具:如 scp 或 rsync,用于传输镜像文件。 2.3 认证配置 在腾讯云和火山云上获取 API 令牌或用户名/密码,用于登录镜像仓库。 3.2 方法二:使用 skopeo 进行镜像同步 3.2.1 适用场景 镜像数量较多。 需要高效迁移。 3.2.2 步骤 安装 skopeo: sudo apt-get install skopeo # Ubuntu/Debian sudo yum install skopeo # CentOS 本文介绍了四种从腾讯云镜像仓库迁移镜像到火山云的方法,包括使用 Docker CLI、skopeo、镜像导出和导入以及脚本自动化迁移。 :skopeo copy 文件传输:scp, rsync 参考资料 腾讯云容器镜像服务文档 火山引擎容器镜像服务文档 skopeo 官方文档

    32410编辑于 2025-11-15
  • 来自专栏东风微鸣技术博客

    如何保存/同步多架构容器 Docker 镜像

    简介 •Skopeo 简介 - K8S 1.20 弃用 Docker 评估之 Docker CLI 的替代产品 - 东风微鸣技术博客 (ewhisper.cn)[3] 最近 Skopeo 版本更新到了 •skopeo sync•--all, -a: 同上 Notes: 根据 skopeo copy --multi-arch index-only 的描述,场景一[6] 还有一种实现就是: 1.docker [7] 提供的脚本做修改,修改后如下: Notes: 因为较新版本的 skopeo 才有上面说的一系列 flags, 我的 Ubuntu apt 安装的 skopeo 还停留在 v1.5 版本,没有上述功能 https://github.com/containers/skopeo/issues/1694 [6] 场景一: #场景一 [7] 镜像搬运工 skopeo: https://blog.k8s.li/ : https://blog.k8s.li/skopeo.html

    3.2K20编辑于 2022-12-01
  • 来自专栏全栈工程师修炼之路

    如何使用Github Action优雅的同步国外镜像到DockerHub或私有仓库

    ://registry.k8s.io/kube-apiserver:v1.27.4 docker://docker.io/weiyigeek/kube-apiserver:v1.27.4 skopeo 在上述job中,添加步骤来执行skopeo命令,从registry.k8s.io仓库拉取镜像,并将其推送到docker.io仓库。 /usr/bin/env bash skopeo copy --all docker://registry.k8s.io/kube-apiserver:v1.27.4 docker:// 扩展补充: Github Action 的 skopeo-copy-action 项目:https://github.com/marketplace/actions/skopeo-copy-action 至此,使用Github Action + Skopeo 工具优雅的同步镜像到dockerHub中完毕!

    2.6K30编辑于 2023-10-31
  • 来自专栏三木的博客

    OCI 镜像规范详解

    Skopeo Skopeo 是一个功能强大的命令行工具,用于对容器镜像和镜像库执行各种操作。 与其他工具不同,Skopeo 的最大优势在于它无需运行容器守护进程(如 Docker Daemon) 即可工作。 常用场景示例: 远程检视 (skopeo inspect) 在不下载(Pull)镜像层的情况下,直接读取远程仓库中镜像的 Manifest 和配置信息。 命令: skopeo inspect docker://hub.example.io/library/alpine:latest 输出示例 (JSON): skopeo inspect docker:/ 生态互通: 借助 Skopeo 和 containers/image 等工具,我们可以轻松在不同环境(Docker, OCI Layout, Remote Registry)之间迁移和操作镜像。

    32610编辑于 2026-03-06
  • 来自专栏运维开发故事

    真正运行容器的工具:深入了解 runc 和 OCI 规范

    由于我们今天尽可能地低级别,我们将使用 skopeoskopeo 是一个命令行程序,可对容器镜像和镜像存储库执行各种操作。 skopeo 可以在不同来源和目的地之间复制镜像、检查镜像甚至删除它们。 skopeo 无法构建映像,它不知道如何处理 Containerfile。它非常适合自动化容器镜像升级的 CI/CD 管道。 yum install skopeo -y 然后复制busybox镜像: skopeo copy docker://busybox:latest oci:busybox:latest 没有“拉取”— —我们需要告诉 skopeo 镜像的来源和目的地。 skopeo 支持几乎十几种不同类型的来源和目的地。请注意,此命令将创建一个新busybox文件夹,将在其中找到所有 OCI 镜像文件,具有不同的镜像层、清单等。

    4.5K43发布于 2021-11-02
  • 来自专栏全栈工程师修炼之路

    云原生 | 下一代CI/CD工具,Tekton入门部署指南

    mp.weixin.qq.com/s/0STtKrlgYqpoqwMgb0QnoA],利用Github Action来拉取指定镜像到我们的DockerHub中或私有镜像仓库中,执行如下Shell脚本构建skopeo -f 1 -d "@" >> TektonCD-Pipelines-image.txt for i in `cat TektonCD-Pipelines-image.txt`;do echo skopeo github.com/tektoncd/pipeline/cmd/webhook:v0.44.4 docker://weiyigeek/tektoncd-pipeline-webhook:v0.44.4 skopeo pipeline/cmd/pullrequest-init:v0.44.4 docker://weiyigeek/tektoncd-pipeline-pullrequest-init:v0.44.4 skopeo mp.weixin.qq.com/s/0STtKrlgYqpoqwMgb0QnoA],利用Github Action来拉取指定镜像到我们的DockerHub中或私有镜像仓库中,执行如下Shell脚本构建skopeo

    9.4K32编辑于 2023-10-31
  • 来自专栏云原生实验室

    如何使用 registry 存储的特性

    而使用 skopeo copy 存储在目录中时,就需要分别存储一份这个 base 镜像了。 构建 skopeo dir 镜像存储 为了方便演示,需要找个合适的镜像列表,看了一下 ks-installer[2] 项目中有个镜像列表,看样子比较合适那就用它吧 ? 因此我们还需要再做一次转换,将镜像由 registry 存储的格式还原回 skopeo 所支持的 dir 格式。 目录 SKOPEO_DIR="docker/skopeo" # 通过 find 出 current 文件夹可以得到所有带 tag 的镜像,因为一个 tag 对应一个 current 目录 for project in $(ls ${SKOPEO_DIR}); do skopeo sync --insecure-policy --src-tls-verify=false

    1.4K40发布于 2021-04-22
  • 来自专栏云原生实验室

    overlay2 在打包发布流水线中的应用

    skopeo 替代 docker 针对 docker pull –> docker tag –> docker push 的性能问题,当时第一个方案想到的就是使用 skopeo 来替代它。 关于 skopeo 的使用和其背后的原理可以参考我之前的博客 镜像搬运工 skopeo 初体验[4] 。使用 skopeo 之后镜像同步比之前快了很多,平均快了 5 倍左右。 虽然本地的镜像仓库中没有这些镜像的 base 镜像,但是有 base 镜像的 layer,skopeo 也就不会再 copy 这个相同的 blob。 那么如何让 skopeo 和 registry 知道存在这些 layer 了呢? 这时需要再次回顾以下 registry 存储结构。 : https://blog.k8s.li/Exploring-container-image.html [19] 镜像搬运工 skopeo 初体验: https://blog.k8s.li/skopeo.html

    82220发布于 2021-03-16
  • 来自专栏CNCF

    如何优化流水线的镜像同步?速度提高 15 倍!

    registry 存储的格式转换为 skopeo dir 的格式,因此总结出 skopeo dir 和 docker registry 这两种镜像存储格式可以互相转换。 这样根本就不需要 overlay2 和 skopeo,可以直接对 registry 的存储进行操作,将镜像一个一个地硬链接出来。 对 registry 文件系统的 I/O 操作从理论上来讲性能会远远高于 skopeo 这种通过 HTTP 协议传输。 registry 存储中的镜像转换为 skopeo dir 的格式,然后使用 skopeo 将转换后的镜像 push 到 harbor 中。 这一步和 skopeo dir to registry 中的步骤四及其相似。

    2K20发布于 2021-05-07
  • 来自专栏大魏分享(微信公众号:david-share)

    隆重介绍!CI/CD手下的开源界六大金刚

    SonarQube:开源代码分析工具,它可以分析常见编程错误的源代码 Skopeo:镜像复制工具 六大金刚协同工作图: ? ? ? skopeo是命令行实用程序,对容器映像和映像存储库执行各种操作。 创建自定义Jenkins Slave Pod 库存Jenkins Maven slave pod没有安装skopeo。 但是,您需要skopeo才能将构建的容器映像移动到另一个注册表中。 您需要以root用户身份安装skopeo。 确保在构建过程中执行任何操作之前切换到root用户,并在完成后切换回1001。 安装skopeo。 ? 构建容器。 测试自定义Slave Pod 使用简单的pipeline,我们可以测试slave pod是否正常工作并安装了skopeo

    5.9K30发布于 2018-09-30
  • 来自专栏云原生知识宇宙

    打造超级富容器开发环境(八):下载和编译其它软件

    local/bin/kfilt# fzfgit clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf~/.fzf/install --bin# skopeo : https://github.com/containers/skopeo/blob/main/install.md#building-from-sourceapt install -y libgpgme-dev libbtrfs-dev libdevmapper-dev pkg-config go-md2mangotmpSKOPEO_VERSION=$(getLatestRelease "containers/skopeo ")git clone --depth 1 --branch v${SKOPEO_VERSION} https://github.com/containers/skopeo.git # CHANGE_VERSIONcd

    30210编辑于 2024-06-13
领券