ドッカーの第七バック(プライベートレジストリ)

分類の、ドッカーレジストリ

ミラーとメタデータの階層を含むミラーを保持するためのレジストリドッキングウィンドウ、ユーザが自己登録、公式にはハブドッキングウィンドウを使用することができます

  • 顧客が使用するために、サードパーティ製のレジストリとドッキングウィンドウのコミュニティ:レジストリスポンサー

  • ミラーレジストリ:サードパーティ製のレジストリは、顧客のみが使用できるようにします

  • ベンダーレジストリ:出版社ドッカーミラーサプライヤーが提供するレジストリ

  • プライベートレジストリ:レジストリ民間企業が提供するには、ファイアウォールおよび追加のセキュリティ層を持っています

 

二、ドッカー配布

ドッキングウィンドウの物流倉庫は、プライベートパッケージドッキングウィンドウが私たちを提供し、それはまた、コンテナで実行することができます。したがって、ドッキングウィンドウハブに反映されます。しかし、ドッキングウィンドウのハブのようなドッキングウィンドウの分布となしWebインターフェイスは、画像を検索し、Webブラウジングとしてサポートされていませんが、自動的にドッキングウィンドウのハブでミラーを構築するドッキングウィンドウのファイルの使用をサポートしていません。この機能を実現するには、港を使用することができます

 

1、ドッキングウィンドウの配布のインストール

  • ダウンロードダッカーハブのドッキングウィンドウの配布ミラーによってそれがコンテナ内で実行できるようにするには、コンテナが停止されると、データは機能を削除されますので、我々はまた、倉庫で存続するためにミラーリングされたデータのネットワーク・ファイル・システムを使用して、それのためのストレージ・ボリュームを提供

  • yumをインストール、ドッカ配布インストールパッケージエクストラYUM倉庫を直接インストールすることができます

     

 

2、yumのドッキングウィンドウの配布のインストール

2.1インストール

[root@centos7-node2 ~]# yum info docker-distribution
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.ustc.edu.cn
 * extras: mirror.bit.edu.cn
 * updates: mirror.bit.edu.cn
Installed Packages
Name        : docker-distribution
Arch        : x86_64 Version : 2.6.2 Release : 2.git48294d9.el7 Size : 12 M Repo : installed From repo : extras Summary : Docker toolset to pack, ship, store, and deliver content URL : https://github.com/docker/distribution License : ASL 2.0 Description : Docker toolset to pack, ship, store, and deliver content [root@centos7-node2 ~]# yum install docker-distribution [root@centos7-node2 ~]# rpm -ql docker-distribution /etc/docker-distribution/registry/config.yml /usr/bin/registry /usr/lib/systemd/system/docker-distribution.service /usr/share/doc/docker-distribution-2.6.2 /usr/share/doc/docker-distribution-2.6.2/AUTHORS /usr/share/doc/docker-distribution-2.6.2/CONTRIBUTING.md /usr/share/doc/docker-distribution-2.6.2/LICENSE /usr/share/doc/docker-distribution-2.6.2/MAINTAINERS /usr/share/doc/docker-distribution-2.6.2/README.md /var/lib/registry [root@centos7-node2 ~]# service docker-distribution start Redirecting to /bin/systemctl start docker-distribution.service [root@centos7-node2 ~]# netstat -tlunp |grep 5000 tcp6 0 0 :::5000 :::* LISTEN 2912/registry
 

2.2、設定

デフォルトのコンフィギュレーションファイル、自分のニーズの変化に応じて、

[root@centos7-node2 ~]# vim /etc/docker-distribution/registry/config.yml
version: 0.1
log:
  fields:
    service: registry
storage:
    cache:
        layerinfo: inmemory
    filesystem:
        rootdirectory: /var/lib/registry
http:
    addr: :5000
 

 

3、ミラーとドッキングウィンドウ-分布をアップロード

3.1、ミラーリングアップロード

[root@bogon ~]# docker tag httpd:1.1 centos7-node2.local:5000/httpd:1.1
[root@bogon ~]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE centos7-node2.local:5000/httpd 1.1 bbffcf779dd4 2 weeks ago 264MB httpd 1.1 bbffcf779dd4 2 weeks ago 264MB nginx stable ecc98fc2f376 5 weeks ago 109MB [root@bogon ~]# docker pull centos7-node2.local:5000/httpd:1.1 Error response from daemon: Get https://centos7-node2.local:5000/v2/: dial tcp 192.168.31.187:5000: connect: no route to host [root@bogon ~]# vim /etc/docker/daemon.json "insecure-registries": ["centos7-node2.local:5000"] [root@bogon ~]# service docker restart Redirecting to /bin/systemctl restart docker.service [root@bogon ~]# docker push centos7-node2.local:5000/httpd:1.1 The push refers to repository [centos7-node2.local:5000/httpd] ddcb568d3d1e: Pushed da6517724f67: Pushed 1.1: digest: sha256:e40c5748459eb28eb7cb39eb35f863abcd6b1aa1f341f1f8e999a27537d34bb5 size: 741
 

#HTTPSを使用してドッカークライアントの通信とレジストリデフォルト倉庫がプライベートhttpプロトコルであれば、我々は、ドッキングウィンドウのクライアント構成ファイルを変更する必要があります

3.2、ドッキングウィンドウの分布を確認します

[root@centos7-node2 ~]# ll /var/lib/registry/docker/registry/v2/repositories/httpd/_layers/sha256/
total 0
drwxr-xr-x. 2 root root 18 Nov 20 17:15 bbffcf779dd42e070d52a4661dcd3eaba2bed898bed8bbfe41768506f063ad32
drwxr-xr-x. 2 root root 18 Nov 20 17:15 f06537d9e799fdeca094e95d56295b96359d188988b5d78353f716de5856b5b1
drwxr-xr-x. 2 root root 18 Nov 20 17:15 f9f73d801f0558b085ffa505240a065319269c4cefbe9c2e60103d58761edfa8
 

3.3、ちょうどドッキングウィンドウのクライアントイメージを削除して取得

[root@bogon ~]# docker image rm centos7-node2.local:5000/httpd:1.1
Untagged: centos7-node2.local:5000/httpd:1.1
Untagged: centos7-node2.local:5000/httpd@sha256:e40c5748459eb28eb7cb39eb35f863abcd6b1aa1f341f1f8e999a27537d34bb5
[root@bogon ~]# [root@bogon ~]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE httpd 1.1 bbffcf779dd4 2 weeks ago 264MB nginx stable ecc98fc2f376 5 weeks ago 109MB [root@bogon ~]# docker pull centos7-node2.local:5000/httpd:1.1 1.1: Pulling from httpd Digest: sha256:e40c5748459eb28eb7cb39eb35f863abcd6b1aa1f341f1f8e999a27537d34bb5 Status: Downloaded newer image for centos7-node2.local:5000/httpd:1.1 [root@bogon ~]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE centos7-node2.local:5000/httpd 1.1 bbffcf779dd4 2 weeks ago 264MB httpd 1.1 bbffcf779dd4 2 weeks ago 264MB nginx stable ecc98fc2f376 5 weeks ago 109MB
 

 

第三に、港は何ですか

グーグル、IBM、マイクロソフトの共同設立CNCF(ネイティブのクラウドコンピューティング財団)によって港には、専門的なサードパーティ製の保守団体は、他のプロジェクトをK8S。それはちょうど港(民間倉庫サーバソフトウェア)プロジェクトに参加を含め、などのプロジェクトK8S、プロメテウスを、維持します。港は現在、エンタープライズ・クラスのウェアハウス・アプリケーションです。二次開発プロジェクトで作られたドッキングウィンドウの分布に基づいてVMWareのは、Webインターフェイスを含め、余分なプログラムの多くを追加します。そこで、我々は完全なローカルプライベート倉庫港を構築することができます。

プロジェクトハーバーは、オープンソースの信頼できるクラウドネイティブレジストリプロジェクト店舗、看板、ADNスキャンコンテンツです。

ハーバーは、通常、セキュリティ、アイデンティティや管理などのユーザーが必要な機能を追加することで、オープンソースドッカー分布を拡張します

ハーバーは、このようなユーザー管理、アクセス制御、活動の監視、およびインスタンス間のレプリケーションなどの高度な機能をサポートしています

 

1、港の機能

  • 倉庫に来る多くのユーザーが自分の登録を管理することを可能にするマルチテナント、港のサポート

  • セキュリティ、リスク分析のためのサポート

  •  サポート監査ログ

  • 役割ベースのアクセス制御

  • 複数の港間のサポートレプリケーション

  • スケーラブルなAPI、UIグラフィカルインターフェイス

  • インターナショナルは、現在、英語と中国語のサポート

 

2、港のインストール

港は、MySQL、Redisの他の多くのストレージ・システムに依存しているため、その公式の港のインストールを簡素化するために、港は、コンテナで実行中のアプリケーションを作りました。だから、複数のコンテナを一緒に作業する必要があります。だから、展開と使用時に港をVMwareのツールのスタンドアローンの変数セットを使用する必要がドッキングウィンドウを構成します

ダウンロードします。https://github.com/goharbor/harbor/releases

インストールマニュアル:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md

 

[root@centos7-node2 src]# wget  
[root@centos7-node2 src]# tar -zxvf harbor-offline-installer-v1.5.4.tgz -C /usr/local/ [root@centos7-node2 src]# cd /usr/local/harbor/ [root@centos7-node2 harbor]# sed -i 's/hostname = reg.mydomain.com/hostname = centos7-node2.local/g' ./harbor.cfg [root@centos7-node2 harbor]# yum install docker-compose [root@centos7-node2 harbor]# yum install epel-release [root@centos7-node2 harbor]# yum install docker-compose [root@centos7-node2 harbor]# ./install.sh ?.----Harbor has been installed and started successfully.---- Now you should be able to visit the admin portal at http://centos7-node2.local. For more details, please visit https://github.com/vmware/harbor . [root@centos7-node2 harbor]# docker container ls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2ecc079867c6 vmware/nginx-photon:v1.5.4 "nginx -g 'daemon of?? 14 seconds ago Up 12 seconds (health: starting) 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp nginx a1b51d6d296a vmware/harbor-jobservice:v1.5.4 "/harbor/start.sh" 14 seconds ago Up 12 seconds harbor-jobservice 0ffb3f2a442e vmware/harbor-ui:v1.5.4 "/harbor/start.sh" 16 seconds ago Up 14 seconds (health: starting) harbor-ui 1c5e3590ac25 vmware/registry-photon:v2.6.2-v1.5.4 "/entrypoint.sh serv?? 19 seconds ago Up 16 seconds (health: starting) 5000/tcp registry fd09682ac89a vmware/harbor-adminserver:v1.5.4 "/harbor/start.sh" 19 seconds ago Up 16 seconds (health: starting) harbor-adminserver 054710b41aa2 vmware/harbor-db:v1.5.4 "/usr/local/bin/dock?? 19 seconds ago Up 16 seconds (health: starting) 3306/tcp harbor-db c03daf7e3bb1 vmware/redis-photon:v1.5.4 "docker-entrypoint.s?? 19 seconds ago Up 17 seconds 6379/tcp redis b1fcf0c916a1 vmware/harbor-log:v1.5.4 "/bin/sh -c /usr/loc?? 22 seconds ago Up 18 seconds (health: starting) 127.0.0.1:1514->10514/tcp harbor-log [root@centos7-node2 harbor]#
 

インストールが成功した後、8つのコンテナ港を開始します。

注意:原因は、それ以外の場合はインストールされませんので、ファイアウォールサービスを開くために、ネットワークはNATである港に。

Webインタフェースの最後に成功したインストール

image.png

 

港のWebインターフェイスを使用して、3、

3.1、新しいプロジェクトを作成します

image.png

 

3.2、全くミラーが存在しない、新しく作成したプロジェクトをクリックしてください

image.png

 

ドッキングウィンドウのクライアントを使用して3.3は、ミラーリングアップロード

[root@bogon ~]# docker tag centos7-node2.local:5000/httpd:1.1 centos7-node2.local/development/httpd:1.2
[root@bogon ~]# docker tag centos7-node2.local:5000/httpd:1.1 centos7-node2.local/development/httpd:1.3 [root@bogon ~]# docker tag centos7-node2.local:5000/httpd:1.1 centos7-node2.local/development/httpd:1.4 [root@bogon ~]# docker login centos7-node2.local Username: gouyacai Password: WARNING! Your password will be stored unencrypted in /root/.docker/config.json. [root@bogon ~]# docker push centos7-node2.local/development/httpd:1.2 The push refers to repository [centos7-node2.local/development/httpd] ddcb568d3d1e: Pushed da6517724f67: Pushed 1.2: digest: sha256:e40c5748459eb28eb7cb39eb35f863abcd6b1aa1f341f1f8e999a27537d34bb5 size: 741 [root@bogon ~]# docker push centos7-node2.local/development/httpd:1.3 The push refers to repository [centos7-node2.local/development/httpd] ddcb568d3d1e: Layer already exists da6517724f67: Layer already exists 1.3: digest: sha256:e40c5748459eb28eb7cb39eb35f863abcd6b1aa1f341f1f8e999a27537d34bb5 size: 741 [root@bogon ~]# docker push centos7-node2.local/development/httpd:1.4 The push refers to repository [centos7-node2.local/development/httpd] ddcb568d3d1e: Layer already exists da6517724f67: Layer already exists 1.4: digest: sha256:e40c5748459eb28eb7cb39eb35f863abcd6b1aa1f341f1f8e999a27537d34bb5 size: 741
 

image.png

 

ミラーから港へ3.4、クライアントのドッキングウィンドウを引っ張ります

[root@bogon ~]# docker image rm centos7-node2.local/development/httpd:1.2
Untagged: centos7-node2.local/development/httpd:1.2
[root@bogon ~]# docker image rm centos7-node2.local/development/httpd:1.3 Untagged: centos7-node2.local/development/httpd:1.3 [root@bogon ~]# docker image rm centos7-node2.local/development/httpd:1.4 Untagged: centos7-node2.local/development/httpd:1.4 Untagged: centos7-node2.local/development/httpd@sha256:e40c5748459eb28eb7cb39eb35f863abcd6b1aa1f341f1f8e999a27537d34bb5 [root@bogon ~]# [root@bogon ~]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE centos7-node2.local:5000/httpd 1.1 bbffcf779dd4 2 weeks ago 264MB httpd 1.1 bbffcf779dd4 2 weeks ago 264MB nginx stable ecc98fc2f376 5 weeks ago 109MB centos 6.6 4e1ad2ce7f78 5 weeks ago 203MB redis 4-alpine 05097a3a0549 6 weeks ago 30MB [root@bogon ~]# docker pull centos7-node2.local/development/httpd:1.2 1.2: Pulling from development/httpd Digest: sha256:e40c5748459eb28eb7cb39eb35f863abcd6b1aa1f341f1f8e999a27537d34bb5 Status: Downloaded newer image for centos7-node2.local/development/httpd:1.2 [root@bogon ~]# docker pull centos7-node2.local/development/httpd:1.3 1.3: Pulling from development/httpd Digest: sha256:e40c5748459eb28eb7cb39eb35f863abcd6b1aa1f341f1f8e999a27537d34bb5 Status: Downloaded newer image for centos7-node2.local/development/httpd:1.3 [root@bogon ~]# docker pull centos7-node2.local/development/httpd:1.4 1.4: Pulling from development/httpd Digest: sha256:e40c5748459eb28eb7cb39eb35f863abcd6b1aa1f341f1f8e999a27537d34bb5 Status: Downloaded newer image for centos7-node2.local/development/httpd:1.4 [root@bogon ~]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE httpd 1.1 bbffcf779dd4 2 weeks ago 264MB centos7-node2.local/development/httpd 1.2 bbffcf779dd4 2 weeks ago 264MB centos7-node2.local/development/httpd 1.3 bbffcf779dd4 2 weeks ago 264MB centos7-node2.local/development/httpd 1.4 bbffcf779dd4 2 weeks ago 264MB

 

 

おすすめ

転載: www.cnblogs.com/baomaggie/p/11622765.html