Harbor使用レビュー
Dockerを使わなければならなかった。
Dockerというものは本当に面白いものだ。なくても十分にできたし、入門障壁も高くて新人の頃は「これをなぜ使わなければならないのか?」という疑問が晴れなかった。しかし学習が終わり、使わなければならない理由を感じるようになってからは、今やDockerなしの開発者の生活を想像することが難しくなった。
最初は少しの入門障壁を乗り越えると、まるで広い平野が広がるようにハードルを乗り越える理由は十分だった。今回AI関連の授業を受けながら、Hugging Faceにある多くのモデルを自分のサービスに組み込みたかった。そこで自宅で運用しているPCにDockerで各サービスを運用することにした。
しかし問題は費用だった。現在職場を休んで勉強中で収入がなく、できるだけ費用を節約しなければならなかった。Docker HubのサブスクリプションでPrivate Repositoryを使用するには負担が大きかったため、代替策を探し始めた。
最初に知った方法は、docker-registryをインストールして自分のローカルPCで直接運用することだった。しかしさらに調べていくうちに、Harborというオープンソースサービスを知り、多くの管理機能も提供している点で大きな魅力を感じた。そこで直ちに試してみることにした。
Harborのインストール方法
Harborのインストールは基本的に次の手順に従った。ネットワーク知識が不足していたため最初は少し苦労したが、おかげで多くのことを学んだ。
1. DockerおよびDocker Composeのインストール
# Dockerのインストール
sudo apt update
sudo apt install -y docker.io
# Docker Composeのインストール
sudo apt install -y docker-compose
Harborはコンテナで動作するため、まずDockerとDocker Composeがインストールされている必要がある。インストールコマンドは以下の通り。
2. Harborのインストールファイルのダウンロード
HarborのインストールファイルはHarborの公式GitHubからダウンロードできる。以下のコマンドで最新バージョンをダウンロードし、解凍した。
wget https://github.com/goharbor/harbor/releases/download/v<VERSION>/harbor-offline-installer-v<VERSION>.tgz
tar -xvzf harbor-offline-installer-v<VERSION>.tgz
cd harbor
3. 設定ファイルの編集
インストールディレクトリ内にあるharbor.ymlファイルを編集した。主に変更した項目は以下の通り:
- hostname: HarborサーバーのIPアドレスまたはドメイン。
- https設定: SSL証明書を適用したい場合は関連パスを設定。
4. Harborのインストールと実行
設定が終わった後、次のコマンドでHarborをインストールして実行した。
./install.sh
5. HarborのWebアクセス
インストールが完了すると、ブラウザからhttp://またはhttps://でHarborのWeb UIにログインできる。デフォルトのアカウントは以下の通り: • ユーザー名: admin • パスワード: Harbor12345 (インストール中に変更可能)
Harborの使用感想
HarborのWeb UIはきれいで直感的だった。使用していて感じた利点は以下の通り:
- Private Repositoryの管理が簡単 DockerイメージをPrivate Repoに保存して管理できるため、外部依存度を低くしセキュリティを強化できた。
- ユーザーおよびプロジェクト管理機能 チームの協力環境でも有用に見える。ユーザー権限を細分化でき、複数人が使用する際も安全に運用可能だ。
- Webhookとセキュリティポリシー 特定の条件に応じてWebhookを設定したり、イメージセキュリティチェックを実行できる機能が魅力的だった。個人プロジェクトだけでなく商用プロジェクトにも十分に活用可能に見えた。
残念な点
- 最初のインストールプロセスでネットワークとポート設定の問題で少しの試行錯誤があった。特にファイアウォールの設定やSSL証明書の適用は初心者にとって少し複雑に感じるかもしれない。
- 管理機能が多いため最初はすべてのオプションを理解するのに時間がかかった。
結論
HarborはDocker Registryの強力な代替手段だった。特に費用を節約したいが、管理機能も見逃したくない人々にとって完璧なソリューションだ。個人サーバーにDocker Private Repoが必要なら、一度挑戦してみる価値がある。
直接インストールして運用しながら学ぶ楽しみもあるので、興味があればぜひ一度試してみることをお勧めします。
