Skopeo
輕量級容器映像檔管理工具
軟體分類 程式開發 / 容器工具
軟體標籤
分流KVMwomen費用追蹤器
開發廠商 The Containers Project (Red Hat)
產品說明
Skopeo 是一款專為容器映像檔(Container Images)設計的命令列工具,屬於 Podman 生態系的一部分。與 Docker 不同,Skopeo 最大的特點在於它不需要執行 Container Daemon(如 dockerd)即可運作。這意味著你不需要 root 權限,也不需要啟動笨重的背景服務,就能對映像檔進行各種操作。
在現代 CI/CD 流程中,Skopeo 是不可或缺的「搬運工」。它能夠直接在兩個遠端 Registry 之間複製映像檔(例如從 Docker Hub 複製到 Quay.io 或私人 Harbor),而無需像傳統做法那樣先 docker pull 到本地再 docker push 出去,大幅節省了頻寬與磁碟空間。此外,它也能在不下載映像檔的情況下,直接讀取遠端的 Config 與 Manifest 資訊,是檢視與稽核映像檔的最佳工具。
核心特色:
- 無 Daemon 運作:輕量級設計,無需背景服務,隨裝隨用,適合 CI 環境。
- 遠端對遠端複製:支援直接在 Registry 間傳輸映像檔,無需經過本地暫存。
- 免下載檢視:使用
inspect指令即可讀取遠端映像檔的詳細資訊(如 Labels, Env, Architecture)。 - 多種傳輸協議:支援 Docker Hub、Quay、本地目錄 (dir)、Docker daemon、OCI 封存檔等多種來源與目的格式。
常用指令
Skopeo 的指令結構簡單明確,主要圍繞著「檢視」與「複製」兩大核心功能。
基礎操作
# 檢視遠端映像檔資訊 (無需 Pull)
skopeo inspect docker://docker.io/library/alpine:latest
# 將映像檔從 Docker Hub 複製到本地目錄 (以 OCI 格式儲存)
skopeo copy docker://docker.io/library/alpine:latest oci:./my-alpine-image
| 指令 | 功能說明 | 範例 |
|---|---|---|
| inspect | 檢視資訊 | 讀取映像檔的 Manifest、Config 與 Layers 資訊 |
| copy | 複製/轉換 | 在不同來源(Registry, Local, OCI)間傳輸映像檔 |
| delete | 刪除 | 刪除遠端 Registry 上的特定 Tag |
| login | 登入 | 登入私人 Registry (儲存憑證於 auth.json) |
| list-tags | 列出標籤 | 列出遠端 Repository 下所有的 Image Tags |
| sync | 同步 | 將大量的映像檔從一個 Registry 同步到另一個 |
進階技巧
跨 Registry 直接複製:
這是 Skopeo 最強大的功能,能快速將映像檔「搬家」,且支援異質 Registry(如 AWS ECR 到 Google GCR)。skopeo copy docker://docker.io/library/nginx:latest docker://quay.io/myuser/nginx:backup --dest-creds myuser:mypassword檢視原始 Manifest:
若需要除錯或確認架構支援(如 arm64 vs amd64),可直接查看 Raw Manifest。skopeo inspect --raw docker://docker.io/library/postgres:14清理映像檔:
在 CI 流程結束後,可使用 delete 指令清理舊的 CI 暫存映像檔。skopeo delete docker://myregistry.local/ci-build:123
操作介面
Skopeo 是一款純命令列工具 (CLI),其輸出結果通常為標準的 JSON 格式,非常適合搭配 jq 等工具進行自動化腳本處理。




![]()
