はじめに 以前は、Docker イメージは Azure のコンテナー レジストリに保存されていました。最近、独自の Docker レジストリを構築しました。以前 Azure のコンテナー レジストリに保存した Docker イメージを独自の Docker レジストリに同期したいと考えています。 実装のアイデア 私たちの方法は比較的単純で低レベルですが、基本的には要件を満たすことができます。 私たちのアプローチは
その後、Alibaba Cloudにイメージ同期ツールがあるらしいことを突然思い出しました。 https://github.com/AliyunContainerService/image-syncer Docker レジストリ API Dockerレジストリには一連の仕様があり、詳細についてはhttps://docs.docker.com/registry/spec/api/を参照してください。 すべての画像を取得 Dockerレジストリv2では、すべてのイメージを取得するための新しい 構文は次のとおりです。
デフォルトでは、最大 100 件のレコードが返されます。レコード数が 100 を超える場合は、パラメータ 画像タグを取得する docker イメージのタグ リストを取得するには、 操作例 デモ用にテスト用の Docker レジストリがローカルにデプロイされています。テストには httpie を使用します。 ミラーリストを取得します: 画像リストを取得するには
画像のタグリストを取得する
PowerShell スクリプト 自動化されていない運用とメンテナンスはフーリガンです。将来的にも同様のニーズが発生する可能性が非常に高いです。自動的に実行するスクリプトを記述する方がよいでしょう。 以下のスクリプトは、Azure コンテナー レジストリにイメージがあまりなく、50 または 60 イメージ程度しかなく、イメージには最新のタグのみがあり、他のタグはないため、上記の手順は簡略化されており、ページングによってすべてのイメージが取得されるわけではなく、すべてのタグが取得されるわけでもありません。実際に使用する場合は、使用前に自分で変更してください。 # 変数 $srcRegUser = "xxx" $srcRegPwd = "111111" $srcRegHost = "xxx.azurecr.cn" $destRegUser = "yyy" $destRegPwd = "222" $destRegHost = "registry.xxx.com" # ソースレジストリからリポジトリを取得する # httpie $response = (http -b -a "${srcRegUser}:${srcRegPwd}" "https://${srcRegHost}/v2/_catalog") | ConvertFrom-Json # カール #$response = (curl -u "${srcRegUser}:${srcRegPwd}" "https://${srcRegHost}/v2/_catalog") | ConvertFrom-Json # リポジトリ $リポジトリ = $レスポンス.リポジトリ # 書き込みホスト $repositories # ログインソースレジストリ docker ログイン $srcRegHost -u $srcRegUser -p $srcRegPwd # ログイン先レジストリ docker ログイン $destRegHost -u $destRegUser -p $destRegPwd # 同期 foreach($repo と $repositories) { 書き込みホスト "同期 $repo 開始" $srcTag = "${srcRegHost}/${repo}:latest" $destTag = "${destRegHost}/${repo}:latest" Write-Host "ソース画像タグ: $srcTag" Write-Host "dest イメージ タグ $destTag" ホストへの書き込み「docker pull $srcTag begin」 docker pull $srcTag Write-Host "docker pull $srcTag が完了しました" Write-Host "docker tag $srcTag $destTaging" docker タグ $srcTag $destTag ホストへの書き込み「docker push $destTag begin」 docker push $destTag Write-Host "docker push $destTag が完了しました" 書き込みホスト "docker rmi $srcTag $destTag begin" docker rmi $srcTag $destTag 書き込みホスト "docker rmi $srcTag $destTag end" 書き込みホスト「$repo の同期が完了しました」 } ホストへの書き込み「完了しました...」 もっと 多数の画像を同期する必要がある場合は、Alibaba Cloud の画像同期ツールを使用して同期することを検討してください。 参照 https://stackoverflow.com/questions/31251356/docker-registry-v2 上のイメージのリストを取得する方法 https://github.com/AliyunContainerService/image-syncer 詳しくはこちら: 要約する これで、docker レジストリ イメージの同期に関するこの記事は終了です。docker レジストリ イメージに関するその他の関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: Windows で MySQL マスター スレーブ レプリケーションを構成する方法
朝早くに電話で起こされました。あるプロジェクトのデータベースがダウンしていて起動できないとのことでし...
ウェブサイトを構築するとき、HTML 言語は重要ではないと思われるかもしれませんが、実際には、基本的...
Dockerネットワークを見るdocker ネットワーク ls [root@master ~]# d...
音楽を再生すると、曲が進むにつれて歌詞が徐々に色づきます。色は単語ごとに変わるのではなく、左から右へ...
プロジェクトでは https サービスを使用する必要があるため、Alibaba Cloud では無料...
Vue - シャトルボックス機能を実装します。効果図は次のようになります。 CS 。移行{ ディスプ...
1.html <div class="ログインボディ"> <...
効果環境が必要ビュー要素UIドラッグアンドドロッププラグインSortable.js必要な構成プロパテ...
ここでは、MySQL の使用中に発生するいくつかの問題とその解決策を示します。 sql_mode=o...
Centos7では、/etc/rc.d/rc.localファイルの権限が削減されており、実行権限があ...
コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...
この記事の例では、カスタムドロップダウンボックスを実装するためのjsの具体的なコードを参考までに共有...
この実験では、空のデータベース、オフライン、オンラインの 3 つのモードで、1 つのマスターと 2 ...
パフォーマンスは本当に重要ですか?パフォーマンスは重要であり、誰もがそれを知っています。なぜ私たちは...
長い間、リソースの制約により、使用できるフォントが限られていたため、Web サイトの開発は妨げられて...