序文前回の記事では、イメージのカスタマイズ方法やコンテナオーケストレーションについて紹介しましたが、イメージ管理については触れられていなかったようです。では、コード管理のように、イメージファイルに対してプッシュ操作とプル操作を実装できるでしょうか?答えはイエスです。 Docker-hub は、他の人が作成したさまざまなイメージを検索したり、自分のイメージを管理したりできるパブリック ウェアハウスです。 Harbor は、画像をアップロードできるプライベート画像倉庫です。同じイントラネット内の他のユーザーはダウンロードして使用できます。独自のサーバーに展開されるため、より安全です。 docker-hub と Harbor の関係は、GitHub と Gitlab の関係に似ています。 1. パブリックイメージリポジトリ Docker-hub1. docker-hubの紹介パブリック イメージ リポジトリは通常、Docker またはその他のサードパーティ組織 (Alibaba Cloud、Tencent Cloud、NetEase Cloud など) によって提供され、誰でもイメージ リポジトリを登録して使用できます。 Docker Hub は、100,000 を超えるコンテナ イメージを擁する世界最大のイメージ マーケットです。 2. 画像を倉庫に提出する具体的な手順:アカウントを登録 >> ログイン >> ウェアハウスを作成 >> Linux コマンドライン Docker ログイン >> イメージ名を変更する (ウェアハウス名と一貫性を保つ) >> イメージをウェアハウスに送信する ①ミラーリポジトリを作成するGitHub でコード リポジトリを作成する場合と同様に、パブリック (公開、インターネットから閲覧可能) とプライベート (保護、自分だけが閲覧可能) の 2 種類に分かれています。 ② Linuxコマンドライン経由でDockerアカウントにログインするdocker login # docker-hubにログイン ③ イメージリポジトリと一致するようにイメージ名を変更します。docker タグ joinsunsoft/docker.ui:latest chenjigang/auto-test:v1.1 ④ イメージを公開リポジトリに送信するdocker push chenjigang /自動テスト: v1.1 ⑤ 画像リポジトリを表示する2. 画像リポジトリHarborの民営化1. ハーバーの紹介Harbor は、VMware によってオープンソース化されたエンタープライズ レベルの Docker レジストリ管理プロジェクトです。権限管理 (RBAC)、LDAP、ログ監査、管理インターフェース、自己登録、イメージ複製、中国語サポートなどの機能が含まれています。 エンタープライズ レベルのプライベート レジストリ サーバーとして、Harbor はより優れたパフォーマンスとセキュリティを提供します。レジストリを使用して環境転送イメージを構築および実行するユーザーの効率を向上します。 Harbor は、複数のレジストリ ノードにインストールされたイメージ リソースのレプリケーションをサポートします。すべての画像はプライベート レジストリに保存され、データと知的財産が会社の内部ネットワーク内で管理されることが保証されます。さらに、Harbor は、ユーザー管理、アクセス制御、アクティビティ監査などの高度なセキュリティ機能も提供します。
Gitee アドレス: https://gitee.com/project_harbor/harbor?utm_source=alading&utm_campaign=repo 2. 港湾建設インストール手順: Harbor のすべてのサービス コンポーネントは Docker にデプロイされるため、公式インストールでは迅速なデプロイのために Docker-compose が使用されるため、Docker と Docker-compose をインストールする必要があります。 Harbor は Docker Registry V2 に基づいているため、Docker バージョンは 1.10.0 以上、Docker-compose バージョンは 1.6.0 以上である必要があります。 ① インストールパッケージをダウンロードして解凍するオンラインダウンロード: https://github.com/goharbor/harbor/releases/download/v2.2.2/harbor-online-installer-v2.2.2.tgz をダウンロードしてください ②設定ファイルを編集するcp harbor.yml.tmpl harbor.yml # harbor.yml ファイルのコピーをコピーします 次のように編集します。
③インストール環境の準備 ./prepare # 準備スクリプトを実行する 実行が完了すると、ローカルにdocker-compose.ymlファイルと共通ディレクトリが追加されます。 ④ 港を設置する./install.sh #ハーバーをインストール インストール プロセス中に、ハーバー イメージが自動的にダウンロードされ、関連するコンテナーが起動されます。 ⑤ 港を訪問インストールが成功すると、harbor にアクセスできます: http://192.168.1.122:8087。ここで、ip はローカル IP、port は構成ファイル harbor.yml で構成されたポートです。デフォルトのアカウントとパスワードは次のとおりです: admin Harbor12345 パスワードはharbor.ymlファイルで表示または変更できます。 ⑥ インストール中によくある問題と解決策
理由: ローカルの Redis コンテナがすでに存在し、Harbor は Redis コンテナを起動できません 解決策: ハーバーディレクトリのdocker-compose.ymlでredisコンテナ名を変更し、再起動します。 docker -作成-d 各港湾コンテナのステータスを表示します。
レジストリ コンテナーがローカルに既に存在する場合、Harbor インストール プロセスでエラーが報告されます。解決策: 元のレジストリ コンテナーを削除し、./install.sh を再実行してインストールします。この方法でもエラーが報告される場合は、docker-compose up -d を実行して各サービスを起動します。 3. ローカルイメージをHarborにプッシュする①プロジェクトを作成する②Dockerログイン以前に docker-hub にログインしたことがあるため、「docker login」コマンドを使用して再度ログインすると、デフォルトのログイン アドレスは引き続き docker-hub アドレスになります。そのため、ハーバーにログインする場合は、ログイン時にログインアドレスを指定する必要があります。 dockerログインhttp://192.168.1.122:8087 初めてログインする場合は、プロンプトに従ってハーバーのユーザー名とパスワードを入力します。これらは、フロントエンド ログインに使用されるアカウントとパスワードと同じである必要があります。 このアドレスには以前一度ログインしたことがあるため、認証記録がローカルに保存され、再度ログインするときにユーザー名とパスワードを入力しなくても正常にログインできます。 次のエラーが発生した場合: 次に、ローカル IP アドレス (ポートが 80 でない場合はポート番号も含む) を /etc/docker/daemon.json ファイルの insecure-registries リストに追加し、構成をリロードします。 { systemctlデーモン-reload 再度ログインすると、ログインは成功します。 ③ ローカル画像にタグを付ける指定されたプロジェクトにアップロードする前に、イメージ名を ip:ポート番号/プロジェクト名/イメージ名:タグ名の形式で指定する必要があります。たとえば、rabbitmq イメージの場合、名前は次のようになります。 テストを容易にするために、ローカルイメージを直接コピーして名前を変更しました。 docker タグ rabbitmq : 3.7 -管理192.168.1.122 : 8087 / harbor / rabbitmq : 3.7 -管理 ④ ローカルイメージをHarborにプッシュするdocker push 192.168 .1 .122 : 8087 / harbor / rabbitmq : 3.7 -管理 harbor という名前のプロジェクトを確認すると、rabbitmq:3.7-management が表示されます。テストは成功しました。 ⑤ Harborから画像を取得する
docker pull 192.168 .1 .122 : 8087 /ライブラリ/ mysql : 5.7 .33 下の図からわかるように、MySQLイメージは正常に取得されました。 同時に、Harbor 管理端末では最新のプル時間も確認できます。
docker run -it -d -e MYSQL_ROOT_PASSWORD = 123456 --name=mysql -p 3307:3306 192.168.1.122:8087/library/mysql:5.7.33 を実行します。 MySQLコンテナに入り、MySQLにログインします ここまでで、「Harbor バックエンドにログイン >> ウェアハウスを作成 >> Docker コマンドラインを使用して Harbor にログイン >> イメージ名を変更 (ウェアハウス名と一致させる) >> イメージをウェアハウスに送信 >> イメージをプル >> プルしたイメージに基づいてコンテナを作成 >> コンテナを表示する」という一連の操作がすべて完了しました。 |
<<: 信頼できるデータの自由な流通を促進するために、Inspur Data Cloud のビジネス戦略が正式に発表されました
>>: クラウド コンピューティング仮想化三部作の第 1 部: CPU とメモリの仮想化
オフラインプロモーションは、ウェブサイトへの直接トラフィックを増やすだけでなく、企業ブランドを宣伝す...
Toutiao は少し前に検索機能を正式にリリースしました。検索結果には、Toutiao のすべての...
Extravm の以前の VPS は、OVH データ センターか米国中部のダラスにあり、特別な注目を...
今日、ブログを使って外部リンクを最適化することについて話すと、多くのウェブマスターの友人は間違いなく...
最近、業界の友人数人と SEO について話したところ、同僚の多くが「オフサイトとは外部リンク、オンサ...
スタートアップチームの初期段階では、チャネルが未熟で、予算が不十分で、ユーザーが定着していない場合に...
オンラインマーケティングの実施方法、オンラインマーケティングの実施方法、この記事では、一般的に使用さ...
テクノロジー企業の幹部たちは、システムをクラウドに移行することへのプレッシャーを感じています。自社製...
SEOに取り組む過程で、誰もが何らかの問題に遭遇します。誰もがこれらの一般的なSEOの問題をより明確...
B2B ウェブサイトの運用となると、多くのウェブマスターは息を呑むでしょう。このような巨大で包括的な...
クラウド ストレージの使用は、多くの企業がクラウド コンピューティング テクノロジーを導入する最初の...
eName.cnは5月16日、最近Qianzhan.comのドメイン名が盗まれ、数億元の損失をもたら...
yardvps は、初月半額のプロモーション コード YARDVPS50 をリリースしました。これは...
最近最適化した企業ウェブサイトの全プロセスを皆さんと共有したいと思います。このウェブサイトは、Bai...
商人は慈悲を乞うた。「おや!価格が間違っています。注文をキャンセルしてください。」ネットユーザーから...