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

推薦する

CSS3 で高さと幅を不定にして垂直と水平に中央揃えするいくつかの方法

1. フレックスレイアウト 。父親 { ディスプレイ: フレックス; コンテンツの中央揃え: 中央;...

MySQL インポート csv エラーの 4 つの解決策

これは今日私が踏んだ4つの落とし穴を記念したものです...落とし穴1:地元のせいエラー:エラー 39...

Windows 8 での ssh コマンドの使用記録

1. 仮想マシンとgit bashウィンドウを開き、接続の準備をします2. 仮想マシンでifconf...

Vue Element フロントエンドアプリケーション開発 従来の Element インターフェースコンポーネント

目次1. リストインターフェースとその他のモジュールの表示処理2. 従来のインターフェースコンポーネ...

画像をラベルとして使用すると、IE では for 属性が機能しません。

例えば:コードをコピーコードは次のとおりです。 <input type="check...

Vant Uploaderは1枚以上の写真をアップロードするコンポーネントを実装します

この記事では、1枚以上の写真をアップロードするためのVant Uploaderコンポーネントを紹介し...

Vueデータ双方向バインディング実装方法

目次1. はじめに2. コードの実装2.1 目的分析2.2 実装プロセス2.2.1 エントリーコード...

MySQL は対応するクライアント プロセスにどのように接続しますか?

質問特定の MySQL 接続について、それがどのクライアント プロセスからのものであるかをどのように...

CSS3の新しいセレクタの例

構造(位置)擬似クラスセレクタ(CSS3) :first-child : 指定されたセレクタは、親要...

WeChatアプレットはキャンバスを使用して時計を描画します

この記事では、キャンバスを使用してWeChatアプレットに時計を描く具体的なコードを参考までに共有し...

CentOS7 に MySQL をオフラインでインストールする詳細なチュートリアル

1. 元のmariadbを削除します。削除しないとmysqlをインストールできません。 mariad...

JS で async await をエレガントに使用する方法

目次jQuery の $.ajax Webpack時代の始まり約束について深く考えるネストをなくすj...

CentOS 7.5 に Python 3.6.6 を最初からインストールするための詳細なチュートリアル

ps: 環境はタイトル通りです依存関係をインストールする yum インストール openssl-de...

Mysql5.7.18 のインストールとマスタースレーブレプリケーションの詳細なグラフィック説明

CentOS6.7にmysql5.7.18をインストールする 1. /usr/localディレクトリ...