Harborを使用してプライベートDockerリポジトリを構築する方法

Harborを使用してプライベートDockerリポジトリを構築する方法

1. オープンソースの倉庫管理ツール Harbor

HarborCNCFがホストするオープンソースのDockerイメージ リポジトリ管理ツールです。これを使用して、独自のプライベート リポジトリをすばやく構築できます。もちろん、 Dockerが公式に提供しているregistryイメージやNexusなど、プライベートウェアハウスを構築するための選択肢は数多くあります。しかし、 Harborは依然として良い選択です。

2 インストール

Harborをインストールする方法は、コマンドラインからのインストール、 Helmによるインストールなど、多数あります。この記事では、コマンドラインからのスクリプトによるインストールについて説明します。

2.1 DockerとDocker-composeをインストールする

まず、 Dockerをインストールする必要があります。Harbor Harbor一連のコンテナを通じて起動されます。さらに、 docker-composeをインストールする必要があり、バージョンには特定の要件があります。ここでは、 Rancherリソース ライブラリでソフトウェア パッケージを見つけて構成できます。

Docker-composeをインストールします:

http://rancher-mirror.cnrancher.com/docker-compose/v1.27.4/docker-compose-Linux-x86_64 で実行します。
docker-compose を実行します。
chmod a+x /usr/local/bin/docker-compose

2.2 Harborをインストールする

2.2.1 ダウンロードと解凍

まず、GitHub Release にアクセスして、対応するパッケージをダウンロードします。 offlineonline 2 種類があります。 offlineサイズが大きく、対応する依存関係が含まれています。 online対応する依存コンポーネントが含まれていないため、インストール時にダウンロードする必要があります。 Githubからのダウンロードはそれほど高速ではない可能性があるため、ここではonlineパッケージが使用されます。

ダウンロード:

https://github.com/goharbor/harbor/releases/download/v2.1.1/harbor-online-installer-v2.1.1.tgz をダウンロードしてください

解凍:

tar zxvf ハーバーオンラインインストーラーv2.1.1.tgz

2.2.2 設定とインストール

設定ファイルを準備します。

cp harbor.yml.tmpl harbor.yml

設定を変更します: vi harbor.yml 、主にhttpsを削除し、サーバー アドレスとパスワードを構成します。主な構成は次のとおりです。

ホスト名: 8.134.18.166
http:
  ポート: 8088
# https 関連の設定
#https:
  # ハーバーの https ポート、デフォルトは 443
  # ポート: 443
  # nginx の証明書とキーファイルのパス
  #証明書: /your/certificate/path
  #private_key: /あなたの/private/key/パス
ハーバー管理者パスワード: Harbor12345

設定を変更したら、インストールを開始します。

./install.sh

インストールが成功するとプロンプトが表示されます。

3. 使いやすい

3.1 管理者権限を持つユーザーを作成する

ログインするには、 http://8.134.18.166:8088/ ://8.134.18.166:8088/ にアクセスしてください。ユーザー名はadminで、デフォルトのパスワードはHarbor12345です。

管理ユーザーadminの権限が高すぎます。通常のユーザーを作成するには:

ユーザー情報を作成します:

3.2 新規ユーザーがプロジェクトを作成する

adminを終了し、新しく作成したユーザーでログインし、イメージを保存するプロジェクトを作成します。

プロジェクトが正常に作成されました:

3.3 Docker接続ウェアハウス

3.3.1 Dockerの設定を変更して再起動する

dockerを搭載したマシンでdaemon.jsonを設定し、 "insecure-registries": ["http://8.134.18.166:8088"],

:vi /etc/docker/daemon.json を編集します。

設定後の内容は以下のとおりです。

{
  "安全でないレジストリ": ["http://8.134.18.166:8088"],
  "レジストリミラー": ["https://xxx.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "ログドライバー": "json ファイル",
  「ログオプション」: {
    "最大サイズ": "100m"
  },
  "ストレージ ドライバー": "overlay2"
}

Dockerを再起動します:

systemctl dockerを再起動します

3.3.2 ログインしてイメージをプッシュする

新しく作成された倉庫にログインします。

$ docker ログイン http://8.134.18.166:8088 --username pkslow --password Pk123456
警告! CLI 経由で --password を使用することは安全ではありません。--password-stdin を使用してください。
警告! パスワードは暗号化されずに /root/.docker/config.json に保存されます。
この警告を削除するには、資格情報ヘルパーを構成します。
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

ログインに成功しました

画像の 1 つにtag

docker タグ nginx 8.134.18.166:8088/pkslow/nginx:latest

リポジトリにイメージをアップロードします。

$ docker push 8.134.18.166:8088/pkslow/nginx:latest
プッシュはリポジトリ [8.134.18.166:8088/pkslow/nginx] を参照します
cdd1d8ebeb06: プッシュ 
fe08d9d9f185: プッシュ 
280ddd108a0a: プッシュ 
f14cffae5c1a: プッシュ 
d0fe97fa8b8c: プッシュ 
最新: ダイジェスト: sha256:4949aa7259aa6f827450207db5ad94cabaa9248277c6d736d5e1975d200c7e43 サイズ: 1362

ウェブページにアクセスして確認してください。対応するミラーがすでに存在します。

引っ張る動作は実演されません。

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

以下もご興味があるかもしれません:
  • Harbor がプライベート画像ウェアハウス環境とサービス展開例を視覚化
  • HarborをベースにしたDocker専用倉庫の構築方法
  • HarborをベースにしたDockerプライベートイメージリポジトリの構築の詳細な説明
  • Harborの高可用性構成とウェアハウスの使用法の概要

<<:  Vue3 Vue CLI マルチ環境設定

>>:  MySQL 整合性制約の定義と例のチュートリアル

推薦する

ウェブデザインの初心者に役立つ学習教材をいくつかお勧めします

勉強中に読んだ本についてもよく聞かれます。以下は初心者におすすめの本です(私が勉強中に読んだ本です。...

JavaScript でシンプルなクリスマス ゲームを実装する

目次序文成果を達成するコードCSSコードJSコードHTMLコードデモンストレーションのプロセス序文ク...

Ubuntu の仮想環境に Django をインストールする方法

Ubuntu コマンドライン ウィンドウで次の操作を実行します。 1. 仮想環境をインストールする...

MySQL デュアルマシン ホットスタンバイ実装ソリューション [テスト可能]

目次1. コンセプト2. 環境の説明3. マスタースレーブホットスタンバイ実装1. コンセプト1. ...

トークン生成と検証を実装するミニプログラム

目次プロセスデモミニプログラムバックエンドインターフェースプロセス各リクエストインターフェースは検証...

CSSスコープ(スタイル分割)の使用の概要

1. CSSスコープの使用(スタイル分割) Vue では、CSS スタイルを現在のコンポーネントでの...

Vue3 のウォッチの使用方法とベストプラクティスガイド

目次序文🌟 1. APIの紹介2. 複数のデータソースの監視3. リスニングアレイ4. 監視対象5....

RedHat 6.5 に MySQL 5.7 をインストールするための詳細なチュートリアル

RedHat6.5インストールMySQL5.7チュートリアル共有、参考までに、具体的な内容は次のとお...

nginx の 2 つのモジュールの proxy_pass の違い

1. 1.ngx_stream_proxy_moduleモジュールのproxy_passディレクティ...

MySQL トリガーの使用シナリオとメソッドの例

トリガー:トリガーの使用シナリオと対応するバージョン:トリガーは次の MySQL バージョンで使用で...

MySQL マスター スレーブ データが矛盾しています。プロンプト: Slave_SQL_Running: 解決策はありません

この記事では、MySQL マスターとスレーブ データ間の不一致の解決方法と、プロンプト「Slave_...

JavaScript における 3 つの for ループ ステートメントの使用の概要 (for、for...in、for...of)

序文JS に触れるすべての開発者は、必然的に for ループを扱うことになります。結局のところ、fo...

IE6 の iframe の水平スクロール バーの解決策

状況は以下のとおりです: (PS: 赤いボックスは iframe 領域を表し、灰色の四角形は上記の ...

React Stateの状態とライフサイクルの実装方法

1. コンポーネントの実装方法:組件名稱首字母必須大寫1. JS関数を通じてコン​​ポーネントを実装...

Linux CentOS インストール JDK および Tomcat チュートリアル

まずJDKをダウンロードします。ここではjdk-8u181-linux-x64.tar.gzを使用し...