Skopeo (ギリシャ語で「リモートビューイング」) は、Red Hat のエンジニアがオープンソース・コミュニティと共に開発した最初のコンテナツールです。Skopeo は Podman および Buildah と連携して OCI コンテナを管理します。簡単に言えば、Podman がコンテナを実行し、Buildah がコンテナを構築し、Skopeo がコンテナを転送します。これらのツールは、コンテナ環境用のスイスアーミーナイフだと考えてください。Skopeo は自由に使える巧妙で多用途なナイフです。
Skopeo は、skopeo inspect コマンドでイメージを検査します。Skopeo がリリースされる前は、一部のメタデータのみを検査したい場合でも、イメージを検査するにはイメージ全体を取得する必要がありました。Skopeo の inspect コマンドは、レイヤー、イメージタグ、ラベルなど、イメージのプロパティを表示するため、ホストにイメージをプルする必要はありません。これにより、容量を一切使用せずにリポジトリまたはタグに関する情報を収集できます。
また、Skopeo を使用すると、リポジトリからイメージを削除し、外部のイメージリポジトリを内部レジストリに同期して、接続されていないネットワーク (エアギャップともいう) をより安全にデプロイできます。リポジトリによって要求された場合、Skopeo は認証用に適切な資格情報と証明書を渡すことができます。
skopeo sync により、オンラインで使用するためにレジストリ間で直接コピーしたり、接続されていない環境を準備するためにレジストリとファイル間でコピーしたりすることが可能になります。要求されたコピーにアクションが必要であると想定する skopeo copy とは異なり、skopeo sync は、ほとんど変更されていない大規模なリポジトリの定期的な再同期を高速で行うように調整されていますコマンドラインを直接使用するだけでなく、config ファイルで同期操作を構成することもできます。これにより、大規模なリポジトリからタグのサブセットのみを同期できます。
検査の結果、ある場所またはストレージタイプから別の場所またはストレージタイプにコンテナイメージをコピーする必要があることが示された場合は、skopeo copy コマンドを使用して実行できます。このツールを使用すると、docker.io、quay.io などのレジストリと内部のコンテナレジストリの間、またはローカルシステム上のさまざまなストレージメカニズムの間でコンテナイメージをコピーできます。Skopeo のレジストリ間の直接コピーは高速で、コピー先のレジストリで許可されている場合、変更されていない形式 (およびイメージのマニフェストダイジェスト) を保持します。レジストリ間でイメージをコピーする場合、ローカルディスクの使用やローカルディスクの空き領域は必要ありません。また、Skopeo は、コンテナエンジンのストレージとディレクトリの間でも移動します。コンテナレジストリを最新の状態に保ち、コンテナサーバー上のストレージを維持するために、CI/CD システムで頻繁に使用されます。