プライベート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. はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメン...

測定画像HTTPリクエスト

一般的なブラウザでテスト ページを開き、Fiddler で http リクエストを表示してください。...

vue-router を遅延ロードする 3 つの方法のまとめ

遅延読み込みを使用しない 'vue' から Vue をインポートします。 '...

Vueはカルーセルアニメーションを実装します

この記事では、カルーセルアニメーションを実現するためのVueの具体的なコードを例として紹介します。具...

VueでEchartsチャートの幅と高さの適応を実現する実践

目次1. インストールとインポート2. 手ぶれ補正機能を定義する3. チャートコードを描くinit ...

vue3 カスタムディレクティブの詳細

目次1. カスタム指示の登録1.1. グローバルカスタム指示1.2. ローカルカスタム指示2. カス...

HTML でハイパーリンク タグを使用するチュートリアル

ウェブサイトのさまざまな HTML ドキュメントはハイパーリンクを通じて相互に接続され、一貫性のある...

JavaScriptにおけるPromiseの使い方と注意点について(推奨)

1. 約束の説明Promise は、非同期操作の最終状態 (失敗または正常完了) とその結果の値を...

Tomcatアーキテクチャの原則をアーキテクチャ設計に分析する

目次1. 学習目標1.1. Tomcatアーキテクチャの設計と原則をマスターして社内スキルを向上させ...

MySQL テーブルと列のコメントの概要

コードと同様に、テーブルや列にコメントを追加して、他のユーザーがその機能を理解できるようにすることが...

Vue2.0の双方向データバインディング原則を手動で実装する

一言で言えば: データハイジャック (Object.defineProperty) + パブリッシュ...

Vue3+Vue-cli4 プロジェクトで Tencent スライダー検証コードを使用する方法

導入:従来の画像検証コードと比較して、スライダー検証コードには次の利点があります。サーバーは検証コー...

JavaScript をスリープまたは待機させる方法

目次概要setTimeout() の確認スリープ関数の書き方シンプルな選択ループで実行されますか?要...

Element UI を使用してページにページング ナビゲーション バーを追加する方法

必要ページング バーを追加します。これにより、ページにジャンプしたり、ページ番号に従って特定のページ...

jsはウォーターフォールフローのボトムアウトによるデータの動的ロードを実現します

この記事では、ウォーターフォールフローが底に達したときにデータを動的にロードするためのjsの具体的な...