DockerプライベートウェアハウスRegistry

1798 ワード

目次
一、Docker私有倉庫Registryとは
二、Docker及びRegistryの取り付け
三、テスト
一、Docker私有倉庫Registryとは
公式のDocker hubは共通のミラーを管理するのに良い場所で、私たちが望んでいるミラーを見つけることができて、私たち自身のミラーをプッシュすることができます.しかし、私たちのサーバがインターネットにアクセスできない場合や、自分のミラーをパブリックネットワークに配置したくない場合は、Docker Registryが必要です.それは自分のミラーを保存し、管理することができます.
二、Docker及びRegistryの取り付け
Dockerのインストールについては、以前のブログを参照してください.
...
Registryのインストール:
Registryコンテナを1つ実行するだけで簡単です(ミラーのダウンロードと起動コンテナ、サービスなど)
docker run -d -p 5000:5000 registry

デフォルトでは、コンテナ内の/tmp/registryディレクトリに倉庫が格納されます.これにより、コンテナが削除されると、コンテナに格納されているミラーも失われます.したがって、一般的には、ローカルのディレクトリを指定してコンテナ内の/tmp/registryにマウントしますが、ボディの場合はコンテナに行ってみて、コンテナを起動します.
docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry 

コンテナに接続
docker exec -it  sh

マウントポイントの場所の検索
find / -name registry

registryマウントディレクトリは/var/lib/registryで、registryを再起動します.
docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry 

三、テスト
次に、ローカルミラーpushをプライベートウェアハウスに操作します.まずpullの比較的小さなミラーでテストします(ここではbusyboxを使用しています)
docker pull busybox

次に、ミラーのtagを変更します.
docker tag busybox :5000/busybox

次にtagを打ったミラーを私有倉庫にアップロードします
docker push :5000/busybox

Dockerが1.3.Xからdocker registryとのインタラクションでデフォルトでhttpsを使用しているため、pushが失敗したことがわかります.ただし、ここに構築されたプライベートウェアハウスはhttpサービスのみを提供しているため、プライベートウェアハウスとインタラクションすると上記のエラーが報告されます.この問題を解決するには/etc/docker/daemon.jsonファイルを変更する必要があります.
{"registry-mirrors":[],"insecure-registries":[":5000"], "debug":true, "experimental": false}