HarborをベースにしたDocker専用倉庫の構築方法

HarborをベースにしたDocker専用倉庫の構築方法

1. ハーバーの紹介

イメージベースのレプリケーション戦略。VPN ドメイン接続を介して使用される LDAP/AD ドメインのサポート。イメージの削除とガベージ コレクション。イメージ UI は便利。監査。この機能はほとんど使用されず、ELK は一般的に企業でログの収集と分析に使用されます。RESTful API。

1. ハーバーが民間倉庫を建設

1. dock-composeをアップロードし、権限を設定する

[root@harbor ~]# cd /usr/local/bin/
[root@harbor bin]# rz -e
[root@harbor bin]# ls
docker-compose
[root@harbor bin]# chmod +x docker-compose

3. harbor-offline-installer-v1.2.2をインストールする

[root@harbor bin]# cd /usr/local/
[ルート@ハーバー ローカル]# rz -e
[root@harbor local]# tar zxvf harbor-offline-installer-v1.2.2.tgz

4. Harboパラメータファイルを構成する

[root@harbor local]# vim /usr/local/harbor/harbor.cfg 
 
#5行目を修正 hostname = 192.168.29.77

5. スタートハーバー

[root@harbor local]# cd /usr/local/harbor/
[root@harbor harbor]# ls
[root@harbor harbor]# sh install.sh

6. Harborの起動イメージとコンテナを表示する

(1)画像を見る

Docker イメージ

(2)サービスコンテナが有効になっているか確認する

cd /usr/local/harbor/
docker-compose ps

7. UIインターフェースでプロジェクトを作成する

ブラウザを使用して http://192.168.32.15 にアクセスします。デフォルトの管理者のユーザー名とパスワードは admin/Harbor12345 です。

ログイン後のインターフェース:

アイテムを追加

8. 倉庫機能をローカルでテストする

この時点で、Docker コマンドを使用してログインし、127.0.0.1 経由でローカルにイメージをプッシュできます。デフォルトでは、レジスター サーバーはポート 80 でリッスンします。

(1)ローカルプライベート倉庫にログイン

docker ログイン -u admin -p Harbor12345 http://127.0.0.1

(2)テスト用の画像をダウンロードする

docker プル nginx

(3)画像のラベル付け

docker タグ nginx 127.0.0.1/test_items/centos:nginx_v1
Docker イメージ

(4)画像をHarborにアップロードする

docker push 127.0.0.1/test_items/centos:nginx_v1

9. クライアントで画像をアップロードする

上記の操作はすべて Harbor サーバー上でローカルに実行されます。他のクライアントが Harbor に画像をアップロードすると、次のエラーが報告されます。この問題の原因は、Docker Registry のやり取りではデフォルトで HTTPS が使用されるのに対し、プライベート イメージをビルドする際にはデフォルトで HTTP サービスが使用されるため、プライベート イメージとやり取りする際に次のエラーが発生するためです。

(1)エラー現象

docker ログイン -u admin -p Harbor12345 http://192.168.29.77

(2)解決策

vim /usr/lib/systemd/system/docker.service
#コンテンツを変更します...
ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 192.168.29.33 --containerd=/run/containerd/containerd.sock
......
 
#サービスを再起動します systemctl daemon-reload
systemctl dockerを再起動します
 
#再度ログイン docker login -u admin -p Harbor12345 http://192.168.29.33

(3)画像をアップロードする

#Tomcatイメージをダウンロードする docker pull tomcat
Docker イメージ
# docker タグ tomcat 192.168.32.15/test_items/centos:tomcat_v1
#ローカルウェアハウスにアップロード docker push 192.168.32.15/test_items/centos:tomcat_v1

3. 港湾の維持管理

Harbor は docker-compose を使用して Harbor を管理できます。以下にいくつかの便利なコマンドを示します。これらは docker-compose.yml と同じディレクトリで実行する必要があります。

Harbor.cfg 構成ファイルで必要なオプションを変更するには: Harbor の構成ファイルを変更するには、まず既存の Harbor インスタンスを停止し、Harbor.cfg を更新します。次に、準備スクリプトを実行して構成を入力し、最後に Harbor インスタンスを再作成して起動します。

1.既存のHarborインスタンスを停止する

cd /usr/local/harbor/
docker-compose ダウン -v

2. 設定ファイルHarbor.cfgを変更する

cd /usr/local/harbor/
vim ハーバー.cfg

3. 準備スクリプトを実行して構成を設定します

cd /usr/local/harbor/
。/準備する

4. サービスを再起動する

cd /usr/local/harbor/
docker-compose を起動 -d

4. Harborユーザーを作成する

1. 新しいユーザーを作成する

2. クライアント上で操作して、以前にタグ付けした画像を削除します。

docker rmi 192.168.29.77/test_items/centos:tomcat_v1

3. 新しく作成したユーザーが使用できるかどうかをテストする

#ログアウト docker logout 192.168.29.77
#新しく作成したユーザーとパスワードを使用して、プライベートウェアハウス docker login 192.168.29.77 にログインします。
ユーザー名: zhangsan
パスワード: #パスワードを入力#画像を表示(ダウンロード前)
Docker イメージ
#プライベートウェアハウスからイメージをダウンロード docker pull 192.168.29.77/test_items/centos:nginx_v1
#画像を見る(ダウンロード後)
Docker イメージ

4. Harborサービスコンテナとすべてのデータを削除します

画像データ/データベースを保持したままHarborサービスコンテナを削除する

1) Harborサーバーでの操作

cd /usr/local/harbor/
docker-compose ダウン -v

(2)再デプロイが必要な場合は、画像などの永続データを含むHarborサービスコンテナ内のすべてのデータを削除する必要があります。データベースはホスト マシンの /data/ ディレクトリにあり、ログはホスト マシンの /var/log/Harbor/ ディレクトリにあります。

Harbor で docker プライベート リポジトリを構築する方法についての記事はこれで終わりです。Harbor docker プライベート リポジトリに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

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

<<:  haslaylout と bfc 解析の理解

>>:  HTML 編集の基礎 (初心者必読)

推薦する

Dockerはbusyboxを使用してベースイメージを作成します

Docker イメージの最初の行は FROM alpine などのイメージで始まりますが、最初のベー...

MySQL の 2 種類の一時テーブルの使用方法の詳細な説明

外部一時テーブルCREATE TEMPORARY TABLE によって作成された一時テーブルは、外部...

Vue要素ツリーコントロールに点線を追加する詳細な説明

目次1. 成果を達成する2. 実装コード3. その他の実装要約する1. 成果を達成する 2. 実装コ...

インタラクティブな視覚化 JS ライブラリ gojs の使い方の紹介とヒント

目次1. gojsの紹介2. Gojsのアプリケーションシナリオ3. gojs を選ぶ理由: 4. ...

ウェブページの幅を携帯電話の画面(ビューポート)の幅に自動的に適応させる実装コード

一般的な書き方は次のとおりです。 XML/HTML コードコンテンツをクリップボードにコピー<...

CSS スタイルで一般的なグラフィック効果を示すサンプルコード

一般的な基本グラフィックと私が遭遇するいくつかの小さなアイコンについて簡単に説明します。以下は CS...

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

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

CentOS7 systemdにカスタムシステムサービスを追加する方法

システムド: CentOS 7のサービスsystemctlスクリプトは、/usr/lib/syste...

CentOS 8 に htop をインストールする方法のチュートリアル

システムをインタラクティブに監視したい場合は、htop コマンドが最適な選択肢の 1 つです。 ht...

mysqldumpデータエクスポートの問題に関する詳細な議論

1. mysqldump の使用時にエラー (1064) が報告されます。これは、mysqldump...

MySQL 5.7.20 のインストールと設定方法のグラフィック チュートリアル (win10)

この記事では、MySQL 5.7.20のインストールと設定方法を参考までに紹介します。具体的な内容は...

DockerにrockerChatをインストールし、チャットルームを設定するための詳細な手順

包括的なドキュメントgithubアドレスhttps://github.com/RocketChat/...

vue3 カスタムディレクティブの詳細

目次1. カスタム指示の登録1.1. グローバルカスタム指示1.2. ローカルカスタム指示2. カス...

MySQLユーザー管理操作例の分析

この記事では、MySQL ユーザー管理操作について説明します。ご参考までに、詳細は以下の通りです。こ...

docker-compose を使用して Clickhouse をすばやくデプロイする方法のチュートリアル

ClickHouse は、オープンソースの列指向 DBMS (Yandex によって開発) です。 ...