画像を保存し、普及するための最も直接的な方法は、ユーザーがリポジトリの自由ドッカーHのUBに自分の画像を保存することができ、会社ドッカー公共Regsitryによって維持されているドッカーHのUBを、使用することです。あなたがあなたのイメージにアクセスするために他人をしたくない場合は、プライベートリポジトリを購入することができます。
一般的に、我々はドッカーHのUBのアップロードを使用して画像をダウンロードし、非常に便利なものの、しかし、のようないくつかの制限があることができます:
1は、外部ネットワーク接続を必要とし、アップロードとダウンロードの速度遅い
2、無料のプライベートrepositroyを使用することができますが、ドッカーHのUBは、誰でもアクセスできるミラーリングアップロードではなく、
多くの組織は、外部ネットワークに画像を許可しないセキュリティ上の理由から、3を
ソリューションは、シングルルームローカルレジストリです。
ドッカーHのUBはまた、公式ミラーレジストリを持っていながら、ドッカーはオープンレジストリを持っています。
私たちは、ドッカー中で独自のレジストリを実行することができます
HTTPDを構築dockerfile使用
倉庫を使用する前に、まず私たちは、httpdのイメージを構築し、ローカルに保存し
dokcerfileを作成した最初の作成dockerfileのディレクトリとファイル
cd ~
mkdir dokcerfile
cd dockerfile
touch dockerfie
編集はdockerfile、次
のhttpミラーを構築し、その後
docker build -t httpd:v11 -f dockerfile /root/dockerfile
以下に示すように、正常に構築された
検査画像を
docker images
レジストリコンテナを起動します
最初の画像データを格納するためのルートディレクトリ/ myregistryディレクトリに作成
カレントミラーは、レジストリを使用している:2
cd /
mkdir /myregistry
レジストリコンテナを作成するには、次のコマンドを使用します
docker run -d -p 5000:5000 -v /myregistry:/var/lib/registry registry:2
説明:
1、-d背景出発容器
-pポートをホストするために、容器5000のポート5000にマッピングされる2、。5000は、レジストリサービスポートである
画像データを格納するディレクトリ/ myregistryにマッピングされたコンテナの/ var / libに/ regsitryホスト、-v、3
ドッカータグ画像の名前を変更することにより、次のように、マッチングレジストリように:
docker tag yangchao/httpd:v1 127.0.0.1:5000/yangchao/httpd:v1
httpdが次の形式でのフォーマットレジストリ要件を変更V11:
唯一のミラーを省略してもよいドッカーハブレジストリホスト:ポート]
次のように、ように、ドッカータグ画像の名前を変更することで、マッチングレジストリ
docker tag httpd:v11 127.0.0.1:5000/yangchao/httpd:v11
ミラーを確認するためにdokcer imageコマンドを使用します
その後yangchao / httpdの:V11レジストリにアップロード
docker push 127.0.0.1:5000/yangchao/httpd:v11
そして、鏡の中のレジストリを表示
curl 127.0.0.1:5000/v2/_catalog
あなたは/ myregistryディレクトリ内の画像を表示することができ
、これまでローカルレジストリに作成されています