ローカルの docker 登録証明書 docker ログインは港湾倉庫に接続し、シェル スクリプトを使用して、多数のイメージをプルし、タグ付けし、プライベート港湾倉庫にプッシュします。

1. ローカルの docker 登録証明書 docker ログインが港の倉庫に接続します。

Harbor の処理、イメージのアップロードとダウンロードなどに docker ログイン/プッシュ/プルを使用します。ただし、「x509: 不明な認証局によって署名された証明書」などのエラーが発生する場合があります。

[root@test01 Harbor.dev]# docker login Harbor.dev
既存の資格情報で認証しています…
ログインが成功しませんでした、エラー: デーモンからのエラー応答: https://harbor.dev/v2/ を取得: x509: 不明な認証局によって署名された証明書
ユーザー名 (管理者): admin
パスワード:
デーモンからのエラー応答: https://harbor.dev/v2/ を取得: x509: 不明な認証局によって署名された証明書

このとき、公式の docker https://docs.docker.com/engine/security/certificates/によると、クライアントは Harbor との通信に tls を使用する必要があり、自己署名証明書を使用するため、ディレクトリを作成する必要があります: /etc/docker/certs .d、このディレクトリに署名付きドメイン名のディレクトリを作成し、ディレクトリ全体は次のようになります。その後、/etc/docker/certs.d/xxxx(harbor域名)ハーバーの証明書 ca.crt をこのディレクトリにコピーします。
ここに画像の説明を挿入します

2. シェル スクリプトを使用して、多数のイメージをプル、タグ付けし、プライベート ハーバーの倉庫にプッシュします。

#!/bin/bash

while IFS= read -r line; do
  image_name=$(echo "$line" | awk '{print $1}')

  new_name=$(echo "$line" | awk '{print $2}' | tr -d '\r')

  docker pull "$image_name"
  docker tag "$image_name" "$new_name"
  docker push "$new_name"

  echo "Pulled, tagged, and pushed $image_name as $new_name"
done < images.txt

上に示したように、まず、以下に示すように、すべてのダウンロード イメージ名とアップロード名を含む image.txt を準備する必要があります。各行には、スペースで区切られた image_name と new_name が含まれます。

istio/proxyv2:1.14.1 ハーバー.dev/cube_studio/istio_proxyv2
:1.14.1 istio/pilot:1.14.1 ハーバー.dev/cube_studio/pilot:1.14.1
mysql:5.7 ハーバー.dev/cube_studio/

もちろん、上記のスクリプトのポイントは image_name と new_name を取得することですが、image_name に基づいて new_name を変更できる場合は、スクリプトを変更して自分に合った new_name を取得することもできます。

  #images.txt每行只有image_name,tr -d '\r'去掉换行符
  image_name=$(echo "$line" | awk '{print $1}' | tr -d '\r')
  
  #在image_name前加上harbor.dev/hub/
  new_name="harbor.dev/hub/$image_name"
  
  #image_name中的ccr.ccs.tencentyun.com/hub替换为harbor.dev/hub
  new_name=$(echo "$image_name" | sed 's/ccr.ccs.tencentyun.com\/hub/harbor.dev\/hub/g')
  
Excel テーブルのデータをメモ帳に貼り付け、各列の間にスペースを入れます。

必要なすべてのデータを EXECL の 1 つの列に結合してエクスポートできます。

  • 元のデータに AB という 2 つの列があるとします。セル C1: に数式を入力し=A1&" "&B1、フィル ハンドルを使用して数式を下にコピーし、列 C を TXT ドキュメントに貼り付けます。つまり、各列間の距離はスペース 1 つです。

おすすめ

転載: blog.csdn.net/qq_45808700/article/details/132852079