Alibaba Cloud イメージリポジトリを使用して外部 Docker イメージを構築する方法の詳細な説明

Alibaba Cloud イメージリポジトリを使用して外部 Docker イメージを構築する方法の詳細な説明

Alibaba Cloud Image Repositoryを使用して外部イメージをダウンロードする

Docker や K8S を日常的に使用する際には、海外の Web サイトからイメージをダウンロードする必要があることがよくありますが、一部の Web サイトは中国ではアクセスできません。この問題を解決するには、Alibaba Cloud が提供するイメージ リポジトリを使用してイメージをダウンロードし、それをローカル コンピューターにプルしてタグを変更し、実装します。

たとえば、K8S を使用して Istio をデプロイする場合は、gcr.io/istio-testing/install-cni:1.5-dev イメージをダウンロードする必要があります。次の手順に従って、Alibaba Cloud でビルドしてダウンロードできます。

1. Githubを設定する

まずGithubにログインし、image-buildなどの名前でイメージをビルドするためのリポジトリを作成します。

ローカルコンピュータに、たとえばdockerImageという名前のフォルダを作成します。

dockerImage ディレクトリに入り、Github のリポジトリをローカル マシンにクローンします。

https://github.com/CoderX-Aaron/image-build.git

クローン作成が完了したら、image-build ディレクトリに移動し、次の内容を含む install-cni という名前の Dockerfile を作成します。

gcr.io/istio-testing/install-cni:1.5-dev から

作成した Dockerfile ファイルを git に送信し、ブランチ名を master として指定します (Github でリポジトリを作成するときにデフォルトの最初のブランチ名に合わせて変更します)。

git で install-cni を追加します
git commit -m "install-cni イメージをビルドするための Dockerfile を作成する"
git ブランチ -M マスター

Git のコンテンツを Github にプッシュします。

git プッシュ -u origin マスター

2. Alibaba Cloudを構成する

Alibaba Cloud でイメージリポジトリを構成してビルドする手順は次のとおりです。

Alibaba Cloudコンソールにログインし、コンテナイメージサービスに入ります。

左のタブの代碼源をクリックし、Githubアカウントをバインドします

バインディングが完了したら、左側のタブでイメージリポジトリをクリックして、名前空間、リポジトリ名、概要情報の作成を開始し、[次へ]をクリックします。

コード ソースで Github、名前空間で CoderX-Aaron (つまり Github のユーザー名)、リポジトリで image-build を選択します。下のビルド設定で、海外機器構建をチェックし、Create Mirror Repositoryをクリックします。

リポジトリを作成したら、「リポジトリの管理」をクリックし、左側のタブで「ビルド」を選択します。まず、ビルド ルールで新しいビルド ルールを設定します。Dockerfile ディレクトリのパスとファイル名に注意してください。これは Github のものと一致している必要があります。

ビルド ルールを作成したら、対応するルールの背後にある [今すぐビルド] ボタンをクリックしてイメージのビルドを開始します。

3. イメージをプルする

イメージが正常にビルドされると、「イメージ バージョン」タブにビルドされたイメージが表示されます。次に、イメージをローカル コンピューターにプルします。手順は次のとおりです。

まず、ローカルマシンのコマンドラインで Alibaba Cloud Mirror Repository にログインします。ログインに使用するユーザー名は Alibaba Cloud アカウントのフルネーム、パスワードはサービスを起動したときに設定したパスワードです。

docker ログイン --username=ユーザー名 registry.cn-hangzhou.aliyuncs.com

レジストリからローカルにイメージをプルする

docker pull registry.cn-hangzhou.aliyuncs.com/ops-docker/istio:v1

画像タグを変更する

docker タグ registry.cn-hangzhou.aliyuncs.com/ops-docker/istio:v1 gcr.io/istio-testing/install-cni:1.5-dev

これにより、install-cni イメージのダウンロードが完了し、K8S のイメージ プル ポリシーがIfNotPresentまたはNeverに変更されます。

4. イメージをAlibaba Cloudにプッシュする

ローカルイメージを Alibaba Cloud にプッシュするには、まずローカルイメージのタグを変更する必要があります。

docker タグ [イメージ ID] registry.cn-hangzhou.aliyuncs.com/ops-docker/istio:[イメージ バージョン番号]

次に、イメージをプッシュします。

docker push registry.cn-hangzhou.aliyuncs.com/ops-docker/istio:[イメージバージョン番号]

Alibaba Cloud のイメージリポジトリを使用して外部の Docker イメージを構築する方法についてはこれで終わりです。Alibaba Cloud で外部の Docker イメージを構築する方法の詳細については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Centos7 システムで Docker ローカル イメージ ウェアハウスを構築する方法
  • Docker でプライベートイメージリポジトリを作成する方法のチュートリアル
  • Docker用国産イメージウェアハウスの使い方
  • Alibaba Cloud イメージリポジトリの Docker 構成変更の実装
  • .NETCore Dockerはコンテナ化とプライベートイメージリポジトリ管理を実装します
  • Dockerが独自のローカルイメージリポジトリを構築するための手順
  • CentOS 7.2 サーバー上にプライベート Docker イメージ リポジトリを設定する例
  • HarborをベースにしたDockerプライベートイメージリポジトリの構築の詳細な説明
  • DockerでAlibaba Cloudイメージリポジトリを使用する方法
  • Docker でプライベートイメージリポジトリを構築する方法
  • Dockerイメージリポジトリの使い方

<<:  HTML メタタグの使用の概要 (推奨)

>>:  nodejsとyarnをインストールし、Taobaoソースプロセスレコードを構成する

推薦する

JavaScriptでシンプルなスクロールウィンドウを実装する

この記事では、スクロールウィンドウを実装するためのJavaScriptの具体的なコードを参考までに紹...

Vue で配列パラメータを渡すための get / delete メソッド

フロントエンドとバックエンドがやり取りする場合、get または delete を介してバックエンドに...

JavaScript の find() メソッドと filter() メソッドの違いのまとめ

目次序文JavaScript find() メソッドJavaScript filter() メソッド...

git bash を使用して Linux にログインするための ssh の設定方法

1. まず、Linux サーバー上で公開鍵ファイルと秘密鍵ファイルを生成します。デフォルトの保存ディ...

HTML テーブル マークアップ チュートリアル (41): テーブル ヘッダーの幅と高さの属性 WIDTH、HEIGHT

デフォルトでは、ヘッダーの幅と高さはコンテンツに応じて自動的に調整されます。ヘッダーの幅と高さを手動...

経験者のHTMLの書き方と理由の分析

1. ナビゲーション: 順序なしリストとその他のラベル要素ナビゲーションを記述するために最も一般的に...

MySQL 結合クエリの原則の知識ポイント

MySQL 結合クエリ1. 基本概念2 つのテーブルの各行をペアで水平に接続して、すべての行の結果を...

Vue+Element UI でサマリーポップアップウィンドウを実装するプロセス全体

シナリオ: 検査文書には n 個の検査詳細があり、検査詳細には n 個の検査項目があります。実装効果...

関数の分類の詳細な説明とJavascriptでのこのポイントの例

JS で関数を定義する 3 つの方法例を挙げて説明しましょう。 <スクリプト> //メソ...

MySQL スロークエリを通じて MySQL のパフォーマンスを最適化する方法

アクセス数が増えると、MySQL データベースへの負荷が増大します。MySQL アーキテクチャを使用...

JS 非同期コードユニットテストの魔法 Promise

目次序文プロミスチェーンMDN エラー連鎖デフォルト処理略語非同期待機序文この記事を書いた理由は、ユ...

MySQL 8のパスワードを忘れた場合のベストな対処法の簡単な分析

序文MySQL に精通している読者は、MySQL が非常に迅速に更新されることに気付くかもしれません...

Dockerfile を使用して Docker でイメージを構築する方法

イメージを構築するこれまで、テストやデモンストレーションにさまざまなイメージを使用しました。多くの場...

Vue パッケージ化後の空白ページの解決策

1. vue-cli がプロジェクト パッケージを作成した後にページが空白になる問題の解決方法コマン...