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 編集の基礎 (初心者必読)

推薦する

mysqlはタイムゾーン関連の問題を解決します

序文: MySQL を使用すると、時間の表示が正しくない、タイムゾーンが GMT+8 ゾーンにない、...

上部の固定ナビゲーションバーによって CSS アンカーの配置がブロックされる問題の解決方法

多くのウェブサイトでは、ユーザーが簡単に検索したり他のページに移動したりできるように、上部にナビゲー...

Windows プラットフォーム構成 5.7 バージョン + MySQL データベース サービス

ルートユーザーのパスワードを初期化するプロセスと、よくある2つの問題の解決策が含まれています。 1....

CentOS 7 に MySQL 8 をインストールするための詳細なチュートリアル

準備するこの記事の環境情報: ソフトウェアバージョンセントOSセントOS7.4マイグレーション8.0...

MySQL でトランザクションのコミットとロールバックを実装する方法の詳細な例

最近、データベース データのスケジュールされた移行を実行する必要があります。実行プロセス中に何らかの...

MySQL の frm ファイルからテーブル構造を復元する 3 つの方法 [推奨]

mysql が正常に実行されている場合、テーブル構造を表示することは難しくありません。しかし、場合...

Vueはスライダードラッグ検証機能の全プロセスを実現します

レンダリング 骨組みを定義し、HTMLとCSSを記述するHTML部分 <テンプレート> ...

Vue 計算プロパティ実装トランスクリプト

この記事では、Vueの計算プロパティ実装レポートカードを参考に共有します。具体的な内容は次のとおりで...

シンプルなID生成戦略: MySQLテーブルからグローバルに一意のIDを生成する実装

グローバル ID を生成する方法は多数あります。ここでは簡単な解決策を紹介します。MySQL の自動...

ウェブ開発におけるクロスドメインの理由に対する複数のソリューション

目次クロスドメインの理由JSONP Nginxソリューションバックエンドソリューションクロスドメイン...

Linux ソースコードからのソケット (TCP) バインドの詳細な説明

目次1. 最も単純なサーバー側の例2. バインドシステムコール2.1、inet_bind 2.2、i...

Tomcat 初回展開 Web プロジェクト プロセス図

独自のWebプロジェクトをtomcatディレクトリの下のwebappsディレクトリに配置します。 R...

効果的なウェブフォームのための 8 つのルール

ユーザーから情報を収集する場合、Web フォームを使用するより簡単で直接的な方法はありません。適切に...

Docker に influxdb をインストールするための詳細なチュートリアル (パフォーマンス テスト)

1. 前提条件1. プロジェクトが展開されました2. Dockerはすでにインストールされている2...

Linux での mysql および mysql.sock のインストールに関する問題

最近、Linux に Aphace、mysql、php をインストールするときに多くの問題に遭遇しま...