港 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 ディレクティブのカスタム命令の詳細な説明
CSS の位置属性は要素の配置タイプを指定し、上、下、左、右を使用して要素を具体的に配置します...
目次01 GTIDの紹介02 GTIDの仕組み03 GTIDの利点と欠点04 テスト環境構築05 テ...
MySQL の基盤となるデータ構造が B+ ツリーであることは誰もが知っていますが、ではなぜ赤黒ツリ...
Mysqlリモート接続構成を実装する2つの方法会社で働いていると、誰かのコンピュータに保存されている...
目次序文作成手順CentOSベースイメージを作成するコンテナを作成してカスタマイズするカスタムコンテ...
この記事では、MySQL 8.0.13のインストールと設定のチュートリアルを参考までに紹介します。具...
v-model を使用してページング情報オブジェクトをバインドします。ページング情報オブジェクトに...
テクノロジーの活用itext.jar: バイト ファイル入力ストリームを画像、PDF などに変換しま...
目次1. 前提条件1.1 サポートされているプラットフォーム1.2 jdk および hadoop...
ピップとは何かpip は、Python パッケージの検索、ダウンロード、インストール、アンインストー...
目次1. Vueの初期化vue エントリ ファイルフルバージョンとランタイムバージョンの違い1.1、...
1. 環境を準備する(Node.jsをダウンロードし、環境変数を設定する) 2. vue-cliをグ...
1. はじめにコンテナはサンドボックス メカニズムを使用して相互に分離します。コンテナ内にデプロイさ...
Docker プロセス、メモリ、カップ消費量を表示dockerコンテナを起動し、dockerinsp...
本日、MySQL 8.0 をアップデートしました。最初の問題: Navicatがデータベースに接続で...