説明
ドッキングウィンドウのレコードを構築するための専用倉庫手順
入門
ドッカー画像がdockerhubでホストすることができる理由であるコードベースとGitHubのに成功しました。我々はdockerhubドッキングウィンドウのパブリックイメージをつけたくない場合でも、ちょうどドッキングウィンドウ内部の部署やチームを共有したい画像を、あなたは民間の倉庫にそれを構築するgitlabという点で同じにすることはできませんか?答えはイエスである、ドッキングウィンドウには、専用倉庫に保存した画像をサポートしています。以下は、ドッキングウィンドウのネイティブオープンソースの倉庫や民間倉庫を確認し、その特性を分析します。
原則
モデルのドッカーコアが積層ミラーリング機構を有効に利用され、ミラーが積層によって継承することができ、ベース画像上には、特定のアプリケーションの画像のさまざまを生成することができます。ドッカー異なるコンテナが大幅にストレージの効率を向上させること、独自の変化層と一緒にいくつかの基本的なファイルシステム層を共有し、することができます。ミラーは、最終的に、サーバー側のtar.gzよう静的記憶装置であるので、このことは、記憶部に格納されたオブジェクトに適用される代わりに記憶されます。
ドッカプル(つまり、ユーザーは倉庫にクライアントからミラーを引く)、相互作用が起きます
- インデックスUbuntuのミラーダウンロードにクライアント要求
- インデックス返信:倉庫A、Ubuntuのミラーチェックサム(チェックサム)と位置のすべての層トークンのUbuntu
- 全ての層(Ubuntuのを格納するための責任倉庫、それが層に依存)リポジトリAのUbuntuのにクライアント要求
- 倉庫は、インデックスへの要求を開始し、ユーザートークンの正当性を検証します
- 要求は正当なリターン・インデックスであり、
- クライアントは、クライアントに、倉庫は、バックエンド・ストレージから実際のファイルデータを取得し、倉庫からすべてのレイヤーをダウンロード
セットアップ
直接使用するyum
インストールdocker-registry
[root@registory ~]# yum install docker-registry -y
[root@registory ~]# 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 # Docker 镜像存放的目录
プロフィール
[root@registory ~]# cat /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 # 端口,这里需要根据实际情况来修改为 80 或者 443
ここでは、修正なしで最初にインストールして使いやすいです。
スタート
[root@registory ~]# systemctl start docker-distribution
[root@registory ~]# ps aux|grep registry
root 20843 0.0 0.8 307476 17476 ? Ssl 13:31 0:00 /usr/bin/registry serve /etc/docker-distribution/registry/config.yml
ミラーのテストをアップロードし、ダウンロードしてください
ミラーテストをアップロード
注意:デフォルトでは、ドッキングウィンドウは、アップロードとダウンロードのHTTPSを使用して、これはポート5000、手動で外観を設定する必要があります
[root@registory ~]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://0tb09e4d.mirror.aliyuncs.com"], # 镜像加速
"insecure-registries": ["registry.kubernetes:5000"] # 这里列表中可配置多个
}
注:上記registry.kubernetes
の手動書かれたhostsファイル、解決できるようにする必要があり、マシンはレジストリを使用する必要があることに留意する必要があります。
[root@registory ~]# grep registry /etc/hosts
192.168.1.120 registry registry.kubernetes
そして、パッケージ化された画像をアップロードして自由に感じます
[root@registory registry]# docker push registry.kubernetes:5000/myweb:v0.3-6
The push refers to repository [registry.kubernetes:5000/myweb]
cc7d034b0d81: Pushed
b9a751a05ed2: Pushed
076c58d2644f: Pushed
b2cbae4b8c15: Pushed
5ac9a5170bf2: Pushed
a464c54f93a9: Pushed
v0.3-6: digest: sha256:016196f127de6b4b726f0ea466216567903ad8c4820cf37b62559ea78d7f2ec3 size: 1567
ミラーのテストをダウンロード
また、手動で解析するホストを設定し、ドッキングウィンドウの設定ファイルを変更する必要があります
[root@node03 ~]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://0tb09e4d.mirror.aliyuncs.com"], # 镜像加速
"insecure-registries": ["registry.kubernetes:5000"] # 这里列表中可配置多个
}
[root@node03 ~]# grep registry /etc/hosts
192.168.1.120 registry registry.kubernetes
アクションレビュー
[root@node03 ~]# docker image pull registry.kubernetes:5000/myweb:v0.3-6
v0.3-6: Pulling from myweb
bdf0201b3a05: Pull complete
3d0a573c81ed: Pull complete
8129faeb2eb6: Pull complete
3dc99f571daf: Pull complete
c77cad417662: Pull complete
f8733d9c3f79: Pull complete
Digest: sha256:016196f127de6b4b726f0ea466216567903ad8c4820cf37b62559ea78d7f2ec3
Status: Downloaded newer image for registry.kubernetes:5000/myweb:v0.3-6
registry.kubernetes:5000/myweb:v0.3-6
[root@node03 ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.kubernetes:5000/myweb v0.3-6 63478b4469e1 21 hours ago 16MB