ウェブサイト検索

Ubuntu 22.04にHarbor Dockerイメージレジストリをインストールする方法


Ubuntu 22.04にHarbor Dockerイメージレジストリをインストールする方法

このページで

  1. 前提条件
  2. Docker CE(コミュニティエディション)のインストール
  3. ハーバーインストーラーのダウンロード中
  4. Harborインストールの設定
  5. インストーラー スクリプトと Docker Compose を使用して Harbor をインストールする
  6. ハーバーのユーザーを作成する
  7. ユーザーをハーバープロジェクトに追加する
  8. Dockerクライアントを介してHarborにログインする
  9. ハーバーレジストリへの画像のプッシュ
  10. 結論

ハーバーは、クラウドネイティブ環境用のオープンソースのDockerイメージレジストリです。イメージレジストリとして、ハーバーはコンテナイメージを保存し、配布するために使用されます。アーティファクトのセキュリティを確保するために、ハーバーはポリシー、ユーザーロールに基づくアクセスコントロール、イメージが脆弱性から解放されていることを確認するためのセキュリティスキャナー、および信頼されるレジストリからイメージをプルすることを保証するイメージ署名を通じてセキュリティ保護を提供しています。

HarborはCNCF卒業プロジェクトであり、エンタープライズグレードのイメージレジストリです。コンプライアンスと高性能を提供し、KubernetesやDockerなどのクラウドネイティブ環境でアーティファクトを一貫して安全に管理するのに役立ちます。

このガイドでは、Ubuntu 22.04サーバー上でDockerを使用してHarborイメージレジストリをインストールする方法を示します。このガイドには、Docker CEのインストール、SSLを有効にした基本的なHarborのインストール、およびイメージレジストリとしてのHarborの基本的な使用と管理が含まれています。

前提条件

このガイドを確認するためには、次の要件が必要です:

  • Ubuntu 22.04 サーバー - この例では、ホスト名が「harbor-server」である一般的かつ新しい Ubuntu サーバーを使用しています。
  • ルート/管理者権限を持つ非ルートユーザー。
  • 港で使用されるドメイン名またはローカルドメイン。

Docker CE(コミュニティエディション)のインストール

ハーバーのイメージレジストリは、異なるタイプの環境にインストールできる複数のバージョンを提供します。ハーバーをKubernetesにHelmチャートを介してデプロイするか、Dockerを使用してハーバーをインストールできます。

この例では、Dockerエンジンを介してHarborをインストールします。したがって、公式のDockerリポジトリを介して、UbuntuサーバーにDocker CE(コミュニティエディション)をインストールします。

以下のaptコマンドを実行して、いくつかの基本的な依存関係をインストールしてください。

sudo apt install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

確認のために促されたらyを入力してください。その後ENTERを押して続行します。

依存関係がインストールされたら、次のコマンドを実行してDockerリポジトリのGPGキーをダウンロードし、公式Dockerリポジトリをシステムに追加します。

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

今、以下のaptコマンドを使ってパッケージインデックスを更新してください。

sudo apt update

Docker CEリポジトリが追加されたという出力を受け取ります。

次に、以下の適切なコマンドを使用して、Docker CEおよびDocker Composeをシステムにインストールしてください。

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

インストールを確認するにはyを入力し、続行するにはENTERを押してください。

Dockerがインストールされたら、次のsystemctlコマンドを実行して、Dockerサービスの現在の状態を確認します。

sudo systemctl is-enabled docker
sudo systemctl status docker

次のスクリーンショットのような出力を受け取るべきです - Dockerサービスは実行中で、有効になっています。Dockerサービスはシステム起動時に自動的に実行されます。

Dockerエンジンがインストールされたら、次にハーバーインストーラーパッケージをダウンロードしてハーバーのインストールを開始します。

ハーバーインストーラーのダウンロード中

ハーバーをインストールするために、ハーバーインストーラーパッケージをダウンロードする必要があります。そして、ハーバーインストーラーにはオフライン版とオンライン版の2種類があります。

このガイドでは、ハーバーをインストールするために、ハーバーのオフラインインストーラーを使用します。したがって、これからハーバーのオフラインインストーラーをシステムにダウンロードします。

作業ディレクトリを「/tmp」に移動し、以下のcurlコマンドを使用してハーバーのオフラインインストーラーをダウンロードします。

cd /tmp
curl -s https://api.github.com/repos/goharbor/harbor/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep '\.tgz$' | wget -i -

今、以下のtarコマンドを使用してハーバーのオフラインインストーラーを抽出してください。インストーラーが抽出されると、新しいディレクトリ「harbor」が表示されるはずです。

tar -xzvf harbor-offline-installer-v2.6.1.tgz

ハーバーディレクトリを/optに移動してください。これにより、ハーバーのインストール先は/opt/harborになります。

sudo mv harbor /opt/

Harborインストールの設定

ハーバーのオフラインインストーラーをダウンロードした後、ハーバーパッケージに含まれている設定ファイル「harbor.yml」を介してハーバーのインストールを設定します。

「harbor.yml」ファイルを使用して、ハーバーのインストールにドメイン名を設定し、ハーバーで安全なHTTPSを有効にし、管理者パスワードを設定し、最後にデータベースを設定します。

始める前に、ドメイン名がサーバーのIPアドレスにポイントされていることと、ハーバーを保護するために使用されるSSL証明書が生成されていることを確認してください。

作業ディレクトリをハーバーのインストールディレクトリ '/opt/harbor'に移動してください。

cd /opt/harbor

ハーバー構成テンプレート'harbor.yml.tmpl'を'harbor.yml'にコピーします。その後、以下のnanoエディタコマンドを使用してハーバー設定ファイル'harbor.yml'を編集します。

cp harbor.yml.tmpl harbor.yml
sudo nano harbor.yml

以下のように詳細設定を変更してください。

The IP address or hostname to access admin UI and registry service.
DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname: registry.howtoforge.local
....
https related config
https:
  # https port for harbor, default is 443
  port: 443
  # The path of cert and key files for nginx
  certificate: /etc/letsencrypt/live/registry.howtoforge.local/fullchain.pem
  private_key: /etc/letsencrypt/live/registry.howtoforge.local/privkey.pem
....
The initial password of Harbor admin
It only works in first time to install harbor
Remember Change the admin password from UI after launching Harbor.
harbor_admin_password: Harbor_Docker_Ubuntu
....
Harbor DB configuration
database:
  # The password for the root user of Harbor DB. Change this before any production use.
  password: db_pass_harbor

ファイルを保存して、作業が完了したらエディタを終了してください。

以下は設定の詳細セクションです:

  • ホスト名 - ハーバーイメージレジストリを実行するために使用されるドメイン名。この例では、ハーバーは 'registry.howtoforge.local' にインストールされます。
  • https - このオプションをコメント解除すると、ハーバーのインストールが有効化され、安全になります。しかし、ドメインのためにSSL証明書を作成し、証明書の公開鍵と秘密鍵のフルパスを入力していることを確認する必要があります。
  • harbor_admin_password - ハーバーのインストール中に使用される初期パスワードです。
  • データベース - ハーバーのデータベース設定。新しい強力なパスワードに変更するようにしてください。

インストーラー スクリプトと Docker Compose を使用して Harbor をインストールする

ハーバーのオフラインインストーラーがダウンロードされ、'harbor.yml' の基本設定ファイルが設定されたので、ハーバーインストールディレクトリ '/opt/harbor' にあるインストーラスクリプト 'install.sh' を使用してハーバーのインストールを開始する準備が整いました。

ハーバーインストールを開始する前に、現在の作業ディレクトリが'/opt/harbor'であることを確認してください。

今、sudo権限でハーバーインストーラースクリプト「install.sh」を実行してください。

sudo ./install.sh

インストーラー スクリプトは、ハーバーのインストールを開始する前にシステム要件を確認します。インストーラーは、システムに Docker エンジンと Docker Compose がインストールされていることを確認します。

今、インストーラーはハーバーを展開するために使用される画像を抽出します。

その後、インストーラーはハーバーのデプロイメントのためにシステム環境を準備し、必要な設定を生成します。それから、インストールが始まります。

インストールが完了すると、ハーバーコンテナサービスが実行されている出力が表示されるはずです。

インストーラスクリプトを使用してハーバーをインストールしたので、次にシステム上のコンテナーサービスを確認し、ウェブブラウザーを通じてハーバーのイメージレジストリにアクセスすることでハーバーを検証します。

以下の 'docker compose' コマンドを実行して、ハーバーコンテナサービスが実行中であることを確認してください。

ls
docker compose ps

下記の出力では、ハーバーコンテナサービスが正常に稼働しています。

次に、ウェブブラウザを開き、ハーバーインストールのドメイン名(例: https://registry.howtoforge.local/)にアクセスしてください。そうすると、ハーバーイメージレジストリのログインページが表示されるはずです。

デフォルトのユーザーadminでログインし、設定ファイル「harbor.yml」を通じて設定したパスワードを入力してください。

正しいパスワードを入力すると、ハーバーダッシュボードが表示されるはずです。また、画面には名前が「library」のデフォルトプロジェクトが表示されます。

この時点で、バーオのデプロイメントを完了し、コンテナオーケストレーションのDockerエンジンとDocker Composeを介してハーバーが稼働していることを確認しました。

次のステップでは、ハーバーイメージレジストリの基本的な管理方法を学びます。ユーザーの追加、プロジェクトの設定、Docker CLIを介したログイン、最後にハーバーへのイメージのアップロード方法を学びます。

ハーバーのユーザーを作成する

ハーバーの画像レジストリが稼働した後は、ハーバー管理ダッシュボードを通じて新しいユーザーを設定し作成する方法を学ぶべきです。

'管理'セクションで、'ユーザー'メニューをクリックし、次に&apost;新規ユーザー'ボタンをクリックします。

新しいユーザーの詳細を入力し、'OK'ボタンを押して確認します。この例では、Docker CLIを通じてハーバーにログインするために使用される新しいハーバーユーザー'alice'を作成します。

ユーザーが作成されると、ユーザーのメニューリストにユーザーが表示されるようになります。

ユーザーをハーバープロジェクトに追加する

ハーバーでは、ユーザーが作業するユーザー空間はプロジェクトです。デフォルトのインストールでは、ハーバーはデフォルトのプロジェクト名「library」を提供します。

このステップでは、新しいユーザー「alice」をデフォルトプロジェクト「library」に追加する方法を学びます。これにより、新しいユーザーは「library」プロジェクトを管理できるようになります。また、ターゲットプロジェクトに対して新しいユーザーに役割を割り当てる必要があります。

「プロジェクト」メニューをクリックすると、あなたのハーバーで利用可能なデフォルトプロジェクト「ライブラリ」が表示されるはずです。

そのプロジェクトの詳細設定を取得するには、プロジェクトのライブラリをクリックしてください。

メニューの「メンバー」をクリックすると、そのプロジェクトには1人の管理者メンバーしかいないことがわかります。「ユーザー」ボタンをクリックして、ハーバーユーザーをプロジェクト「ライブラリ」に追加します。

プロジェクトに追加したいユーザーを入力し、そのユーザーに役割を割り当ててください。この例では、ユーザーaliceをプロジェクトlibraryにプロジェクト管理者の役割で追加します。

OKをクリックして確認してください。

あなたは今、メンバーリストのライブラリプロジェクトにユーザーアリスが利用可能であることが表示されているはずです。

Dockerクライアントを介してHarborにログインする

このステップでは、Docker CLIを使ってハーバーイメージレジストリを設定する方法を学びます。作成したユーザーでDocker CLIを介してハーバーイメージレジストリにログインします。この例では、ユーザーはaliceです。

ターミナルサーバーに戻り、次の Docker コマンドを実行してハーバーイメージレジストリにログインします。

docker login https://registry.howtoforge.local/

求められたら、あなたのユーザーのユーザー名とパスワードを入力してください。この例では、ユーザー「alice」を使用します。

ログインに成功すると、"ログイン成功"のようなメッセージが表示されるべきです。

Docker CLIを介してHarborにログインした後、Docker CLIを介してHarborに画像をプルおよびプッシュできるようになりました。

ハーバー・レジストリへのイメージのプッシュ

ハーバー画像レジストリに認証された後、Docker CLIを使用して画像をハーバー画像レジストリにプッシュ/アップロードする方法を学びます。

始める前に、次のdockerコマンドを実行して最新のイメージ'nginx:alpine'をダウンロードしてください。

docker pull nginx:alpine

以下のDockerコマンドで画像のリストを確認してください。'nginx:alpine'というイメージがダウンロードされているのが確認できるはずです。

docker images

カスタム画像をハーバーイメージレジストリにプッシュするには、現在の画像のタグを「<strong>harbor-domain.com/project/image:version</strong>」の形式に変更できます。

以下のコマンドを実行して、デフォルトのタグ「nginx:alpine」を「registry.howtoforge.local/library/nginx:alpine」に変更します。

docker tag nginx:alpine registry.howtoforge.local/library/nginx:alpine

その後、次のコマンドを使って画像をハーバーイメージレジストリにアップロードしプッシュします。このコマンドは、プロジェクト名「library」で、イメージレジストリ「registry.howtoforge.local」に画像をアップロードします。

docker push registry.howtoforge.local/library/nginx:alpine

以下は、イメージをハーバーイメージレジストリにプッシュする過程での出力です。

画像がハーバーにアップロードされたら、ハーバー管理ダッシュボードに戻り、'プロジェクト'メニューをクリックし、'リポジトリ'をクリックします。新しい画像がDockerコマンドラインを通じてハーバーのイメージレジストリにアップロードされているのが表示されるはずです。

結論

あなたはUbuntu 22.04サーバー上にDockerを使用してハーバー画像レジストリをインストールしました。また、SSL証明書を用いてハーバーのデプロイメントをセキュアにしたため、現在はHTTPSの安全な接続を介してハーバーにアクセスできるようになりました。

港の基本管理について、ユーザーを設定し、役割を割り当てる方法を学びました。また、港でプロジェクトを管理するための基本的な管理方法も学びました。最後に、ハーバーをDockerにイメージレジストリとして追加し、イメージをハーバーにアップロードすることに成功しました。

ここから、新しいユーザーを追加し、開発チームで使用する新しいプロジェクトを設定し始めることができます。

関連記事: