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

推薦する

MySQL インデックス プッシュダウンの詳細

目次1. 左端接頭辞原則2. 表に戻る3. インデックスプッシュダウン序文:インデックス プッシュダ...

Js における new 演算子の役割の詳細な説明

序文Js は現在最も一般的に使用されているコード操作言語であり、その中でも new 演算子は特によく...

vscodeで保存した後のHTML自動フォーマットの問題を解決する

vsCode のバージョンは最近更新され、現在のバージョン番号は 1.43 です。実際、vsCode...

実用的なウェブオンラインツール12選

1.ファビコン.cc ico アイコンの Web サイトをオンラインで作成するには、画像をアップロー...

練習と面接のための Linux シェル スクリプトのヒント 9 つを共有する

予防1) 先頭にインタープリターを追加します: #!/bin/bash 2) 構文のインデントに 4...

HTMLエリアタグの詳しい説明

<area> タグは、イメージ マップ内の領域を定義します (注: イメージ マップはク...

MySQLのスペースをクリーンアップするいくつかの具体的な方法

目次序文1. ファイルのディスク使用量を確認する1.1 ディスク容量の使用状況を確認する1.2 ディ...

Mysql での結合操作

結合の種類1. 内部結合: 結合関係を持つ 2 つのテーブル内のフィールドは、結合関係を満たすレコー...

MySQL の where と on の違いと、いつ使用するか

以前、テーブル結合クエリを書いていたとき、whereとonの違いがわからず、SQLに小さな問題が発生...

Vue3の組み込みコンポーネントであるTeleportの使い方を詳しく説明します

目次1. テレポートの使用2. モーダルダイアログコンポーネントを完成させる3. コンポーネントのレ...

Vue のデータ応答性に関する詳細な理解

目次1. ES 構文のゲッターとセッター2. ES構文でのdefineProperty 3. Vue...

HTMLファイル内の中国語の文字化けとブラウザでの表示の問題

今日も私のページが文字化けしていたので、インターネットで関連する問題を検索しました。この方法はかなり...

Dockerイメージのサイズを縮小する6つの方法

2017 年に Vulhub に取り組み始めてから、私は厄介な問題に悩まされてきました。Docker...

Windows Server 2016 リモート デスクトップ サービスを展開するためのクイック スタート ガイド

現在、2016サーバーは、win2008や2012よりも優れたマルチサイトhttpsサービスをサポー...

ReactプロジェクトでのTypeScriptの実装

目次1. はじめに2. 使用方法ステートレスコンポーネントステートフルコンポーネント制御コンポーネン...