港 Harborは、エンタープライズレベルのプライベートDockerイメージリポジトリを構築するためのオープンソースソリューションです。これは、Dockerレジストリのより高度なカプセル化です。使いやすいWeb UIインターフェイス、ロールとユーザーの権限管理、ユーザー操作の監査などの機能に加えて、K8sプラグイン(アドオン)リポジトリも統合しています。つまり、Helmはチャートを介してK8sプラグインをダウンロード、管理、インストールし、chartmuseumはチャートデータを保存するためのウェアハウスを提供できます[注:helmはk8sのyumに相当します]。さらに、2 つのオープンソース セキュリティ コンポーネントも統合されています。1 つは Notary、もう 1 つは Clair です。Notary はプライベート CA センターに似ていますが、Clair はコンテナ セキュリティ スキャン ツールです。大手メーカーが提供する CVE 脆弱性ライブラリを通じて最新の脆弱性情報を取得し、ユーザーがアップロードしたコンテナをスキャンして既知の脆弱性情報を探します。この 2 つのセキュリティ機能は、エンタープライズ レベルのプライベート リポジトリにとって非常に有意義です。 1. ハーバーのプライベート倉庫を建設する Registry プライベート ウェアハウスと比較すると、Harbor プライベート ウェアハウスははるかに強力で、Web グラフィカル管理をサポートしているため、企業で非常に人気があります。 1) ケースの説明 2 つの Docker サーバー、dockerA は Harbor プライベート ウェアハウスを作成し、dockerB はテストに使用されます。 1. DockerAサーバーの運用 [root@dockerA ~]# yum -y yum-utils デバイスマッパー永続データ lvm2 をインストールします //docker-compose ツールに必要な依存関係をダウンロードします (docker 環境をデプロイするときにインストールできます) [root@dockerA ~]# curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose //docker-compose ツールをダウンロードします [root@dockerA ~]# chmod +x /usr/local/bin/docker-compose [root@dockerA ~]# docker-compose -v docker-compose バージョン 1.25.0、ビルド 0a186604 //docker-compose ツールのバージョン情報をチェックして、正常にインストールされていることを確認します Harbor を構成する GitHub の公式サイトで検索して、対応するバージョンを見つけることもできます。ここではこれ以上のスクリーンショットは撮りません! [root@dockerA ~]# wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.4.tgz // harbor ソフトウェア パッケージをダウンロード [root@dockerA ~]# tar zxf harbor-offline-installer-v1.7.0.tgz -C /usr/local [root@dockerA ~]# cd /usr/local/harbor/ [root@dockerA harbor]# vim harbor.cfg //設定ファイルを書き込みます。他のバージョンはデフォルトでcfgで終わりますが、このバージョンはymlで終わります。ファイルの内容は同じです。hostname=192.168.45.129 //ローカルIPアドレスに変更します。harbor_admin_password: Harbor12345 //この行はすでに存在します。自分で入力する必要はありません。ユーザー名とパスワードを覚えておいてください。必要に応じて変更できます。[root@dockerA harbor]# ./install.sh //インストール スクリプトを実行します [root@dockerA ハーバー]# vim /usr/lib/systemd/system/docker.service //docker メイン設定ファイルを書き込む ExecStart=/usr/bin/dockerd --insecure-registry 192.168.45.129 //レジストリと同様に、ポート番号は harbor 構成ファイルには入力されていないため、ここで追加できます。そうしないと、エラーが発生する可能性があります [root@dockerA harbor]# systemctl daemon-reload [root@dockerA harbor]# systemctl restart docker //docker サービスを再起動します [root@dockerA harbor]# pwd /usr/local/harbor //ディレクトリに注意してください。このディレクトリ内にある必要があります [root@dockerA harbor]# docker-compose start //docker-compose ツールを使用してすべてのコンテナを起動します (docker を再起動するとすべてのコンテナが閉じられるため) [root@dockerA harbor]# netstat -anpt | grep 80 //ポート80がtcp6 0 0 :::80 :::* LISTEN 22871/docker-proxyでリッスンしていることを確認します クライアントは次の Web ページにアクセスします。 画像をアップロード 倉庫が構築できたら、dockerA(harbor)サーバーにイメージをアップロードしてください。 [root@dockerA ハーバー]# docker ログイン -u admin -p Harbor12345 192.168.45.129 // ログインするには、ユーザー名、パスワード、ハーバー サーバー アドレスを指定します。警告! CLI 経由で --password を使用することは安全ではありません。--password-stdin を使用してください。 警告! パスワードは暗号化されずに /root/.docker/config.json に保存されます。 この警告を削除するには、資格情報ヘルパーを構成します。 https://docs.docker.com/engine/reference/commandline/login/#credentials-store [root@dockerA ~]# docker tag centos:7 192.168.45.129/test/centos:7 // イメージ名を変更する必要があります。test は先ほど作成したウェアハウスの名前です [root@dockerA ~]# docker push 192.168.45.129/test/centos:7 // ハーバーサーバーのテストリポジトリにイメージをアップロードします アップロードが完了すると、図のようになります。 2. dockerBサーバーでダウンロードイメージをテストする [root@dockerB ~]# vim /usr/lib/systemd/system/docker.service //docker 13 のメイン設定ファイルを書き込みます ExecStart=/usr/bin/dockerd --insecure-registry 192.168.45.129 //ハーバーサーバーのIPアドレスを指定 [root@dockerB ~]# systemctl daemon-reload [root@dockerB ~]# systemctl restart docker //docker サービスを再起動します [root@dockerB ~]# docker login -u admin -p Harbor12345 192.168.45.129 // ハーバー サーバーにログインします。警告! CLI 経由で --password を使用することは安全ではありません。--password-stdin を使用してください。 警告! パスワードは暗号化されずに /root/.docker/config.json に保存されます。 この警告を削除するには、資格情報ヘルパーを構成します。 https://docs.docker.com/engine/reference/commandline/login/#credentials-store ログイン成功 //ログイン成功[root@dockerB ~]# docker pull 192.168.45.129/test/centos:7 //テスト用のイメージをダウンロード [root@dockerB ~]# docker images リポジトリ タグ イメージ ID 作成 サイズ 192.168.45.129/test/centos 7 b5b4d78bc90c 2か月前 203MB これで、Docker でプライベート倉庫 Harbor を構築する手順についての記事は終了です。Docker でプライベート倉庫 Harbor を構築する方法についての詳細は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQL OOM (メモリオーバーフロー) の解決策
>>: Vue.js ディレクティブのカスタム命令の詳細な説明
(1)実験環境youxi1 192.168.5.101 ロードバランサーyouxi2 192.168...
ゴミ箱は Linux ユーザー、Windows ユーザー、Mac ユーザーにとって非常に一般的なので...
WeChatアプレットフォームの検証、参考までに具体的な内容は次のとおりです。プラグインWxVali...
1: ターミナルに入ったらPHPのバージョンを確認する php -v出力は次のようになります。 PH...
チュートリアルシリーズMySQL シリーズ: MySQL リレーショナル データベースの基本概念My...
この記事では、簡単なパズルゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な...
目次本質的な違いデータベースセキュリティ権限スキーマの移行パターンオブジェクトの類似性スキーマオブジ...
MySQLパスワードは正しいが、ローカルでログインできない -1045 ユーザー 'roo...
1. システム内で開いているファイルの最大数を確認する #現在のリソース制限設定を表示する ulim...
目次Dockerカスタムネットワーク1. カスタムネットワークの紹介2. カスタムネットワークを作成...
この記事では、MySQL 8.0.12のインストールされていないバージョンを設定して起動するための具...
MySQL データベースでは、null は一般的な状況です。MySQL での null に関する注意...
序文Linux のファイル権限管理はとにかく素晴らしいです。SUID、SGID、SBIT の機能を確...
私は同時通訳音声認識機能を使用して、WeChatアプレットのホームページの音声検索機能を実現しました...