プライベート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 をインストールするための詳細なチュートリアル

推薦する

ボリュームを使用してホストと Docker コンテナ間でファイルを転送する方法

以前、Docker コンテナとローカル マシン間のファイル転送に関する記事を書きました。しかし、この...

WeChatミニプログラムページ間の価値転送を実装する方法の例

ミニプログラムページ間で値を渡すみなさんこんばんは。こんばんはと言うのは、これを夜に書いたからです。...

HttpsページでBaiduシェアを使用するためのソリューション

サイト全体で https アクセスを有効にしてから、共有コードが利用できなくなり、有効になっていた小...

HTML 内の CSS および JS リンクのバージョン番号 (キャッシュを更新)

背景検索エンジンで「.htaccess キャッシュ」というキーワードを検索すると、ウェブサイトのファ...

MySQLはJSON内部フィールドを抽出し、数値としてダンプします

目次背景問題分析1. 属性値はJson形式であり、Json操作関数を使用して処理する必要があります。...

MySQL クエリ ステートメントのプロセスと EXPLAIN ステートメントの基本概念とその最適化

ウェブサイトやサービスのパフォーマンスは、データベースの設計(適切な言語開発フレームワークを選択した...

CSS3ダイヤモンドパズルはdivのみを回転し、背景画像は回転しない機能を実現します

需要背景プロジェクトはVueを使用して作成され、ビジネス要件にはパズル効果があります。デフォルトの背...

CentOS 6.8 に MySQL 8.0.18 をインストールするチュートリアルの簡単な分析 (RPM 方式)

今日は、CentOS 6.8 サーバーに MySQL 8.0.18 をインストールする方法を記録しま...

Viteプロジェクトを作成する手順

目次序文yarn create は何をしますか?ソースコード分析プロジェクトの依存関係テンプレート構...

MySQL で遅いクエリ SQL を見つけて最適化する詳細な例

目次1. 遅いクエリSQLを見つけて最適化する方法a. スローログに基づいてスロークエリSQLを見つ...

MySQLシリーズのMariaDBサーバーのインストール

目次チュートリアルシリーズ1. yumパッケージマネージャーを使用してMariaDBサーバーをインス...

docker compose を使ってワンクリックで分散構成センター Apollo を展開するプロセスの詳細な説明

導入分散について話すときは、分散構成センター、分散ログ、分散リンク トラッキングなどについて考える必...

MYSQLの主キー制約とユニーク制約の違いについて簡単に説明します。

目次主キー制約ユニーク制約主キー制約PRIMARY KRY 主キーは一意です。テーブルには主キーを ...

HTML でテーブルを分割および結合する (colspan、rowspan)

このコードは水平マージを示しています。 <!DOCTYPE html PUBLIC "...

JavaScript はスローモーションアニメーションのカプセル化と使用法を説明します

プロセス分析の実装(1)繰り返して電話をかけるには?答え: 関数をカプセル化して一度だけ呼び出すコー...