はじめに 以前は、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 マスター スレーブ レプリケーションを構成する方法
このステータス コードは、リクエストのステータスに関する情報を提供し、サイトとリクエストされたページ...
平行ボックスの余白 (二重余白の重なり) に関する面接の質問: 1 つのボックスに上余白があり、もう...
Jenkinsのユーザーロール権限の設定には、ロール戦略プラグインのインストールが必要です。 1.ロ...
Explain コマンドは、データベースのパフォーマンス問題を解決するために最初に推奨されるコマンド...
多くの場合、Web デザインが完成した後でデザイナーの無知が露呈し、批判されることがあります。彼らは...
目次背景実装のアイデア成果を達成する背景最近取り組んでいるプロジェクトは、Vue2 で構築されたプロ...
この記事では ソースコードのオンラインプレビューとダウンロード今日のチュートリアルでは、円のホバー効...
iframeを更新する方法1. 更新するには、JavaScriptのdocument.fr.loca...
より使いやすい Web アプリケーションを設計するための 10 のヒントをご紹介します。ヒント1: ...
layui テーブルには複数行のデータがあります。外部入力コンテンツを通じて、指定された行を見つけ...
CSS オーバーフローのメカニズムを詳細に学ぶ必要があるのはなぜですか?実際の開発プロセスでは、コン...
META タグは、HTML 言語のヘッダー領域にある補助タグです。作成者、日時、Web ページの説明...
目次1. サブクエリの定義2. サブクエリの分類1. スカラーサブクエリ: 2. MySQLサブクエ...
しかし最近、この方法を使用すると問題が発生することがわかりました。コードを参照してください。コードを...
目次01 GTIDの紹介02 GTIDの仕組み03 GTIDの利点と欠点04 テスト環境構築05 テ...