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 整合性制約の定義と例のチュートリアル

推薦する

mysql5.6 以前のデータベースで json をクエリする方法

MySQLにデータを保存するとき、乱雑であまり使用されないデータがJSONフィールドに投げ込まれるこ...

PrometheusはGrafanaディスプレイを使用してMySQLを監視します

目次Prometheusはエクスポーターを介してMySQLを監視し、Grafanaチャートで表示しま...

MySQL (InnoDB) がデッドロックを処理する方法の詳細な説明

1. デッドロックとは何ですか?正式な定義は次のとおりです: 2 つのトランザクションが相手側で必要...

HTML 5 プレビュー

<br />オリジナル: http://www.alistapart.com/artic...

React イベントバインディングの詳細

目次クラスコンポーネントイベントバインディング関数コンポーネントイベントバインディング要約するRea...

vue-video-player でのブレークポイント再開の実装

最近のプロジェクトでは、ブレークポイントからビデオの再生を再開する機能を実装する必要がありました。こ...

ウェブ開発で遭遇した問題と経験

<br />以下は開発中に遭遇した問題と、そこから得た経験です。デバッグに時間がかかりま...

キャンバスをベースにした超クールな水光効果を実現

この記事の例では、キャンバスをベースにした超クールな水の光の効果を実装するための具体的なコードを参考...

タブ切り替え機能を実装するJavaScriptカスタムプラグイン

この記事では、タブ切り替え機能を実装するためのJavaScriptの具体的なコードを参考までに共有し...

CentOS 7 でソースコードから Openssh をインストールする方法

環境: CentOS 7.1.1503 最小インストール依存パッケージをダウンロードします: yum...

Ubuntu 20.04 aptの国内ソースを変更する方法

UPD 2020.2.26 現在、Ubuntu 20.04 LTSはまだリリースされていないため、チ...

WindowsにJDK8をインストールする方法

1. ダウンロード: http://www.oracle.com/technetwork/java/...

Tomcat サーバー入門の超詳細なチュートリアル

目次1. Tomcat の概念–1、サーバー–2、ウェブサーバー–3、Tomcatサーバー次にTom...

ウィンドウ環境で VScode を使用して仮想マシン MySQL に接続する方法

1. 仮想マシン側1. MySQLの設定ファイルを見つける:sudo vim /etc/mysql/...

HTML ヘッドタグの詳細な紹介

HTML のヘッド部分には、ブラウザによる Web ページのレンダリングや SEO などに関連するタ...