はじめに 以前は、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 マスター スレーブ レプリケーションを構成する方法
序文Linux カーネルプログラミングでは、マクロ関数 container_of(ptr, type...
多くの場合、ストアド プロシージャを作成するときに配列がよく使用されますが、MySQL ではストアド...
nginx.conf を構成するときには常に何らかの問題が発生します。ここでは、よくある問題とその解...
この記事では、centos7 システムの nginx サーバーの下に phalcon 環境を構築する...
既存のビデオ プレーヤーがニーズを満たせない場合は、ビデオを自分でカプセル化する必要があります。ビデ...
目次1. 値を入力し、そのデータ型を返す** 2. アレイ重複排除3. 文字列の重複排除4. ディー...
1. maxPostSize を設定する理由は何ですか? tomcat コンテナには送信データのサイ...
docker コマンドを初めて使用する場合、権限の問題を確認するメッセージが表示されます。 unix...
この記事の例では、Webメッセージボードを実装するためのjsの具体的なコードを参考までに共有していま...
MySQL では、テーブルに複数のインデックスを指定できますが、ステートメントの実行時に、使用するイ...
コードをコピーコードは次のとおりです。 <!DOCTYPE HTML PUBLIC "...
この記事では、例を使用して、MySQL の継続的な集計の原理と使用方法を説明します。ご参考までに、詳...
1. Get はサーバーからデータを取得するために使用され、Post はサーバーにデータを渡すために...
今回は、コンピューターや携帯電話用の rtmp ライブ ブロードキャスト サーバーを設定し、ライブ ...
CSS3 の 3D 効果を使用して立方体を作成する方法を学ぶと、3D シーンの回転と変位のプロパティ...