Harbor はネットワークなしでも展開できますか?オフラインインストールガイドはこちら!

Harbor はネットワークなしでも展開できますか?オフラインインストールガイドはこちら!

今日のクラウド コンピューティング時代では、コンテナ化テクノロジが徐々にソフトウェアの開発と展開の主流の方法になりつつあります。 Harbor は、オープンソースのエンタープライズ レベルの Docker レジストリ管理ツールとして、ユーザーに安全で信頼性の高いコンテナ イメージのストレージおよび管理ソリューションを提供します。しかし、私たちが直面している環境によっては、必ずしもインターネットに直接接続できるとは限りません。この場合、オフライン環境で Harbor を展開する方法が課題になります。でも心配しないでください!この記事では、ネットワークフリーの環境で Harbor を正常にデプロイし、コンテナ化のプロセスをスムーズにする方法を紹介します。

Dockerのオフライン展開

Harborをデプロイする前に、事前にDocker環境をインストールする必要があります。この環境はインターネットに接続できない状況をシミュレートしているため、Dockerのインストール方法もオフライン展開となります。

ここではdockerオフラインパッケージ[1]であるdocker-18.06.3-ceバージョンをダウンロードする例を取り上げます。

ファイルを解凍する

ダウンロードした圧縮パッケージを指定されたディレクトリに解凍します。解凍されたファイルはすべてバイナリ ファイルです。解凍するには、次のコマンドを実行します。

 tar -zxvf docker-18.06.3-ce.tgz -C /usr/bin

Dockerをサービスとして登録する

/etc/systemd/system/ ディレクトリに移動し、docker.service ファイルを作成し、次のコンテンツを docker.service ファイルにコピーします。

 [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not support the cgroup feature set required # for containers run by docker ExecStart=/usr/bin/dockerd --selinux-enabled=false ExecReload=/bin/kill -s HUP $MAINPID # Having non-zero Limit*s causes performance problems due to accounting overhead # in the kernel. We recommend using cgroups to do container-local accounting. LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity # Uncomment TasksMax if your systemd version supports it. # Only systemd 226 and above support this version. #TasksMax=infinity TimeoutStartSec=0 # set delegate yes so that systemd does not reset the cgroups of docker containers Delegate=yes # kill only the docker process, not all processes in the cgroup KillMode=process # restart the docker process if it exits prematurely Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target

docker.service ファイルに実行権限を追加し、次のコマンドを実行します。

 chmod +x /etc/systemd/system/docker.service

サービスを開始する

docker.service ファイルを変更するたびに、ファイルを再ロードして次のコマンドを実行する必要があります。

 systemctl daemon-reload

Docker を起動するには、次のコマンドを実行します。

 systemctl start docker

自動起動を有効にするには、次のコマンドを実行します。

 systemctl enable docker

Dockerが正常に起動したことを確認する

次のコマンドを実行して、Docker のステータスを確認します。アクティブ(実行中)と表示された場合、起動は成功したことを意味します。

 systemctl status docker

バージョン情報を表示するには、次のコマンドを実行します。

 [root@harbor ~]# docker -v Docker version 18.06.3-ce, build d7080c1

docker-composeをインストールする

[2]からdocker-composeをダウンロードし、ダウンロード後、対応するディレクトリに移動し、実行権限を付与します。

 mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose

テストインストール結果

docker-compose の対応するバージョンを表示します。

 [root@harbor ~]# docker-compose -v Docker Compose version v2.9.0

ハーバーを展開

オフラインインストールパッケージをダウンロード

このHarborダウンロードアドレス[3]から対応するHarborバージョンのソフトウェアをダウンロードしてください。

インストールパッケージを解凍する

ダウンロードしたオフライン パッケージを指定されたディレクトリに解凍します。

 tar -zxvf harbor-offline-installer-v2.3.1_2.tgz -C /usr/local/

設定ファイルを変更する

テンプレート ファイルを harbor.yml にコピーします。

 cp harbor.yml.tmpl harbor.yml

harbor.yml 構成ファイルを編集します。ホスト名は、harbor によって公開されるアクセス アドレスであり、HTTP サービスはポート 8888 を公開します。現時点では、HTTPS はここでは構成されず、HTTPS 関連のコンテンツはコメント アウトされます。

ハーバーを展開

設定ファイルを変更したら、install.sh スクリプトを実行して Harbor をインストールするだけです。

 ./install.sh

Harbor コンポーネントの実行ステータスを確認します。

ログインページ

Harbor ページにアクセスするには、ブラウザに http://10.91.74.240:8888 と入力します。ユーザー名とパスワードは admin と Harbor12345 で、harbor.yml 構成ファイルでデフォルトで設定されています。

プッシュ画像

パブリック ネットワークから pause:3.7 バージョンのイメージを取得し、パッケージ化してエクスポートし、イントラネット マシンにアップロードします。

 docker save -o pause:3.7.tar registry.aliyuncs.com/google_containers/pause:3.7

/etc/docker/daemon.json を編集し、アクセスを許可する HTTP リポジトリ アドレスを設定します。

 { "insecure-registries":["10.91.74.240:8888"] }

画像タグを変更します。

 docker tag pause:3.7 10.91.74.240:8888/k8s/pause:3.7

Harborにログイン:

 [root@harbor ~]# docker login 10.91.74.240:8888 Username: admin Password: Login Succeeded

イメージを Harbor にプッシュします。

 [root@harbor ~]# docker push 10.91.74.240:8888/k8s/pause:3.7 The push refers to repository [10.91.74.240:8888/k8s/pause] 1cb555415fd3: Pushed 3.7: digest: sha256:445a99db22e9add9bfb15ddb1980861a329e5dff5c88d7eec9cbf08b6b2f4eb1 size: 526

プッシュされたイメージを表示します。

最後まで書きなさい

これまで、オフライン環境で Harbor を正常に展開しました。 Harborはネットワークなしでも簡単に導入できます!この記事で提供されているオフライン インストール ガイドを使用すると、あらゆる環境で Harbor の利便性とセキュリティを享受できます。この記事がコンテナ化に向けた取り組みの一助となれば幸いです。

参照

  • [1]Dockerオフラインパッケージ: https://download.docker.com/linux/static/stable/x86_64/
  • [2] docker-composeダウンロードアドレス: https://github.com/docker/compose/releases/tag/v2.9.0
  • [3] Harborダウンロードアドレス: https://github.com/goharbor/harbor/releases/download/v2.3.1/harbor-offline-installer-v2.3.1.tgz

<<:  C++ における順序なしコンテナと順序ありコンテナの詳細な比較

>>:  分散 + ポータブル、クラウド移行後のコスト削減と効率向上の鍵​

推薦する

ハイパーリンクのないURLが最適化に効果的かどうかを2つの側面から分析する

ハイパーリンクのないURLが最適化に効果的かどうかを2つの側面から分析するSEO担当者は、説明的なテ...

k8sでのPrometheusの導入と実践的な運用の上級記事

1. 概要Prometheus は、アプリケーションとシステムのメトリック データを収集および記録...

2018年モバイルゲーム上半期購買量白書!

今年上半期の購買量市場を振り返ると、広告素材、広告会社ともに全体的に減少傾向が見られました。購入量の...

AI 導入の謎を解明: クラウドとエッジ

現在、ディープラーニング テクノロジーを展開できる方法としては、デバイス上への直接展開、クラウド内へ...

A5マーケティング:中小企業はWebサイトの外部リンク構築の作業計画をどのように策定すればよいのでしょうか?

企業のウェブマスターにとって、企業ウェブサイトの外部リンク構築は、毎日一定のサイクルで繰り返される一...

NetEase Cloudは業界のニーズに応えて高品質の顧客にサービスを提供し、金融業界の「インターネットサーフィン」を支援します。

金融とテクノロジーの組み合わせにより、金融サービスの境界が大幅に拡大し、包括的な金融が多数の小規模お...

標準インターネット:CN2 GIAブログVPS、年会費148元、トラフィック無制限

Standard Interconnectは、CN2 GIAラインVPSの通常版を発売した後、小規模...

中国ブログネットワークは無料ユーザーデータをすべて削除し、一定期間お別れを告げる

BlogCN無料ブログのデータが削除され、ネットユーザーは懐かしむ新快報記者 唐培陽中国のブログネッ...

ページコンテンツの価値を4つの側面から判断する方法

ウェブサイトが価値があるかどうかを判断することよりも、ウェブサイトの個々のページの価値を判断すること...

Baiduにフォーラムが組み込まれた経験について語る

昨夜、私は百度販売に携わっている大学の同級生とチャットをしました。彼はフォーラムで「百度が含まれない...

王通:コンサルティングやプランニングのサービスが顧客に騙されたらどうすればいいでしょうか?

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス今日の午後、同旺ビジネス...

投稿をしばらく飛ばすためのフォーラムマーケティングの 4 つのステップ

フォーラムを頻繁に訪れるネットユーザーなら、一部の人気フォーラムの投稿が数分間で何万回も閲覧されるこ...

便利な Kubernetes Helm チャート ツール 16 選

[51CTO.com クイック翻訳] Helm は Kubernetes の非常に実用的なコンポーネ...

Kingdee Cloud - Sky Serverless ERPが正式にリリースされ、企業顧客へのサービス向上に貢献

2019 年 10 月 31 日、中国のエンタープライズ レベルの SaaS クラウド サービス プ...

友好的なリンク交換に関する奇妙な見方: リンク = 友情?

少し前に、Ye Jianhui は SEO グループで興味深い議論を目にしました。その議論は、フレン...