Docker レジストリ¶
注意
訳者注:Docker Registry は今後 Docker Distribution https://github.com/docker/distribution に統合予定です。そのため、ドキュメントの更新は停止しており、将来的にここに書かれている情報が古くなる可能性があります。
これは何ですか¶
レジストリ(Registry)とは、ステートレス(処理状態を把握しない)であり、サーバ・サイドのアプリケーションを大きくスケールさせるため、Docker イメージを保管・提供をします。レジストリは Apache ライセンス 許諾のオープン・ソースです。
何のために使うのですか?¶
次のことをしたい場合、レジストリを使ったほうが良いでしょう。
イメージの保管される場所を厳密に管理したい
イメージ配布パイプラインを、自分で完全に管理したい
組織内の開発ワークフローに一致するように、イメージ・ストレージと配布を統合
代替手法¶
ユーザがメンテナンスをしたくないのであれば、すぐにでも使える方法が Docker Hub の利用でしょう。無料で使え、レジストリを預かってくれ、追加機能(組織用アカウント、自動構築、など)があります。
レジストリの商用サポート版を探しているのであれば、 Docker トラステッド・レジストリ(Trusted Registry) をご覧ください。
動作条件¶
レジストリは Docker エンジン バージョン 1.6.0 以上 で動作します。どうしても古い Docker バージョンで動かす必要があれば、 古い python レジストリ をご覧ください。
TL;DR¶
レジストリを開始する方法
docker run -d -p 5000:5000 --name registry registry:2
Docker Hub からのイメージの取得(あるいは構築)
docker pull ubuntu
自分のレジストリ上のイメージを指定
docker tag ubuntu localhost:5000/myfirstimage
送信する
docker push localhost:5000/myfirstimage
また取得する
docker pull localhost:5000/myfirstimage
レジストリを停止し、全てのデータを削除する。
docker stop registry && docker rm -v registry