プライベートDockerリポジトリであるHarborをインストールするための詳細な手順

プライベートDockerリポジトリであるHarborをインストールするための詳細な手順

Harborのインストールは非常に簡単ですが、Dockerログインで行き詰まってしまいました。このブログを書いている間に、かなり時間をかけて再インストールしました。


1. 2台のサーバーを準備する

  • セントロス7
  • 港 10.19.46.15
  • クライアント 10.19.44.31

2. Harborはdockerとdocker-composereをインストールする必要がありますが、クライアントはdockerのみをインストールする必要があります。

Dockerのインストール

yum インストール -y yum-utils デバイスマッパー永続データ lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum -y で docker-ce をインストールします
systemctl ドッカーを起動する

Docker Compose のインストール

Docker Compose インストール yum インストール epel-release
python-pip をインストールします
pip で docker-compose をインストールします
yum git をインストール

harbor1.8 ダウンロード

https://github.com/goharbor/harbor/releases

解凍する

[root@harbor harbor]#ll
総投与量 32
-rw-r--r--。1 ルート ルート 4519 5月21日 15:59 harbor.yml
-rwxr-xr-x. 1 ルート ルート 5088 5月21日 15:59 install.sh
-rw-r--r--。1 ルート ルート 11347 5月21日 15:59 ライセンス
-rwxr-xr-x. 1 ルート ルート 1654 5月21日 15:59 準備

harbor.ymlを修正する

ホスト名 ローカルIPをここに設定

harbor_admin_password ウェブページのパスワード

走る

sh ./install.sh

インストール成功

......
ステータス: goharbor/harbor-registryctl:v1.8.0 の新しいイメージをダウンロードしました
港ログを作成中...完了
harbor-db を作成しています...完了
レジストリを作成しています...完了
redis を作成しています...完了
registryctl を作成しています...完了しました
ハーバーコアを作成中...完了
harbor-jobservice を作成しています...完了
港湾ポータルを作成中...完了
nginx を作成しています...完了

✔ ----Harbor が正常にインストールされ、起動しました。----

これで、http://10.19.46.15 にある管理ポータルにアクセスできるはずです。 
詳細については、https://github.com/goharbor/harbor をご覧ください。

ページを訪問

http://10.19.46.15

停止したり、サーバーが再起動したりする場合は、手動で再起動する必要があります。 harbor インストール ディレクトリでコマンドを実行します。

[root@harbor harbor]#ll
総投与量40
drwxr-xr-x. 3 ルート ルート 20 5月 22 22:24 共通
-rw-r-----。1 ルート ルート 5183 5月22日 22:24 docker-compose.yml
-rw-r--r--。1 ルート ルート 4514 5月22日 22:23 harbor.yml
-rwxr-xr-x. 1 ルート ルート 5088 5月21日 15:59 install.sh
-rw-r--r--。1 ルート ルート 11347 5月21日 15:59 ライセンス
-rwxr-xr-x. 1 ルート ルート 1654 5月21日 15:59 準備

# 停止 [root@harbor harbor]# docker-compose stop
nginx を停止しています...完了
港湾ポータルを停止しています...完了
harbor-jobservice を停止しています...完了
ハーバーコアを停止しています...完了
registryctl を停止しています...完了
redis を停止しています...完了
レジストリを停止しています...完了
harbor-db を停止しています...完了
港湾ログを停止しています...完了

# [root@harbor harbor]# docker-compose start を実行
ログを開始...完了
postgresql を起動しています...完了
redis を起動しています...完了
レジストリを開始しています...完了
コアを起動します...完了
ジョブサービスを開始しています...完了
ポータルを起動しています...完了
プロキシを起動しています...完了
registryctl を起動しています...完了しました

別のサーバー(クライアント)のハーバーにログインする

[root@client ~]# dockerログイン 10.19.46.15
ユーザー名: admin
パスワード: 
デーモンからのエラー応答: Get https://10.19.46.15/v2/: dial tcp 10.19.46.15:443: connect: connection declined

これは、docker バージョン 1.3.2 以降、デフォルトの docker レジストリが https を使用するためです。Harbor ではデフォルトで http を使用するように設定しているため、docker login、pull、push などのコマンドを実行して非 https docker レジストリを操作すると、エラーが報告されます。

httpsを解決する

ハーバーサーバーのハーバーインストールディレクトリ内

vim docker-compose.yml 

次に、ハーバーとクライアントの docker 構成ファイルを同時に編集します。10.19.46.15 10.19.46.15 是harbor的ip地址

#1。
:vim /etc/docker/daemon.json を実行します。

{
 「安全でないレジストリ」: [
 「10.19.46.15」
 ]
}

# 2. ExecStart=/usr/bin/dockerd |--insecure-registry=10.19.46.15 を追加します。
vim /usr/lib/systemd/system/docker.service

# この行をコメントアウトし、次の設定を追加します。ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
実行開始=/usr/bin/dockerd
  |--安全でないレジストリ=10.19.46.15

1. ハーバーのdocker-composeを再起動します。コマンドは次のとおりです。
2. Dockerを再起動する

 systemctlデーモンリロード
systemctl dockerを再起動します

クライアントが倉庫にログインする

[root@client ~]# dockerログイン 10.19.46.15 
ユーザー名: admin
パスワード: 
警告! パスワードは暗号化されずに /root/.docker/config.json に保存されます。
この警告を削除するには、資格情報ヘルパーを構成します。
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
ログインに成功しました

手抜き

プルコマンド

プッシュおよびタグコマンド

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • HarborをベースにしたDockerプライベートイメージリポジトリの構築の詳細な説明
  • Docker はプライベート ウェアハウス (レジストリ、ハーバー) を構築します
  • DockerプライベートライブラリHarborのアーキテクチャとコンポーネントの説明
  • プライベートウェアハウス(レジストリとハーバー)を構築するためのDockerの実装
  • Docker で Harbor パブリック リポジトリを構築する方法の例
  • ドッカー専用倉庫港湾建設プロセス
  • Dockerがプライベート倉庫Harborを構築する手順
  • Docker Gitlab+Jenkins+Harborは永続的なプラットフォーム運用を構築します
  • Docker+K8S+GitLab/SVN+Jenkins+Harbor をベースにした継続的インテグレーション配信環境の構築に関する詳細なチュートリアル
  • Harborを使用してプライベートDockerリポジトリを構築する方法
  • Docker5フル機能の港湾倉庫構築プロセス
  • docker compose を使用してハーバープライベートウェアハウスをインストールする詳細なチュートリアル
  • Jenkins は Docker イメージを構築し、Harbor ウェアハウスにプッシュします
  • HarborをベースにしたDocker専用倉庫の構築方法
  • Dockerプライベート倉庫Harborの導入と展開方法

<<:  Node.jsミドルウェアの仕組みの詳細な説明

>>:  Windows で mysql5.7.21 をインストールするための詳細なチュートリアル

推薦する

オブジェクト内のフィールドを削除する js メソッド

この記事では主に、オブジェクト内のフィールドを削除するための js の実装を紹介し、次のように共有し...

Linux (Ubuntu 18.04) に Anaconda をインストールする詳細な手順

Anaconda は、大規模なデータ処理、予測分析、科学計算のための最も人気のある Python デ...

MySQLプロセス関数の一般的な使用例の分析

この記事では、例を使用して MySQL プロセス関数の一般的な使用方法を説明します。ご参考までに、詳...

mysqlのkey_lenの計算方法についての簡単な説明

MySQL の explain コマンドは SQL のパフォーマンスを分析できます。その 1 つが ...

MySQLにおける分散ロックの考え方をDBの助けを借りて詳しく説明します

序文スタンドアロン ロックであっても分散ロックであっても、共有データに基づいて現在の操作の動作を判断...

スタイルを書く際の背景色宣言の重要性

タイトルの通り、ページを修正すると以下のような状況が発生する可能性があります。現在、古いページを改修...

Mysql 8.0.17 winx64バージョンのインストール中に発生した問題を解決する

1. my.iniファイルを手動で作成して追加する # クライアントセクション # --------...

MySQL 8.0.18 ハッシュ結合は左/右結合をサポートしていません 左と右の結合の問題

MySQL 8.0.18 では、インデックスが作成されていないフィールドに適用でき、等価値の関連付け...

Ubuntu ブート自動起動サービス設定

Ubuntu でサービスを作成し、自動的に起動する方法: 1. [/lib/systemd/syst...

Vue はチャット ボックスで絵文字を送信する機能を実装します

vueチャットボックスで絵文字を送信し、vueインターフェースで絵文字を送信するための具体的なコード...

MySQL 最適化: キャッシュ最適化

何人かのブロガーが私の記事を評価してくれたのは嬉しいです。マークと知り合ってからは、私は彼をフォロー...

MySQL の集計関数 count の使用法とパフォーマンスの最適化テクニック

この記事の環境はWindows 10、MySQLのバージョンは5.7.12-logです1. 基本的な...

Nginxを使ってサーバー内で複数コンテナの共存を実現する方法

背景Tencent Linux クラウド ホストがあり、その上に Docker (ServiceDo...

JS Canvas インターフェースとアニメーション効果

目次概要Canvas API: グラフィックスの描画パス線種矩形アーク文章グラデーションと画像の塗り...

VUE+Canvasはデスクトップピンボールブロック破壊ゲームのサンプルコードを実装します

誰もがピンボールやレンガ崩しのゲームをプレイしたことがあるでしょう。左と右のキーを使用して、下にある...