概要
docker レジストリを使ってみました
コンテナ版があるのでそれを使っています
環境
- Mac OS X 10.12.3
- docker registry 2.6.0
- docker 17.03
registry インストール
- docker pull registry
- mkdir -p /path/to/registry
- cd /path/to/registry
docker run -d -p 5000:5000 -v $(pwd):/var/lib/registry registry
で完了です
localhost の 5000 番で動作させます
イメージを push してみる
構築したレジストリ上にイメージを push してみます
- docker pull alpine
- docker tag alpine localhost:5000/hawksnowlog/alpine
- docker push localhost:5000/hawksnowlog/alpine
tag を付与するフォーマットは「ホスト名/リポジトリ名/イメージ名」になります
イメージが小さいのもありますが、ローカルホストなので速度も速いです
今回の場合 Mac マシンのカレントディレクトリをコンテナのデータボリュームとして使っています
上記のタグの付け方だと
- ls docker/registry/v2/repositories/hawksnowlog/alpine/
という感じでイメージ情報を確認することができます
イメージを pull してみる
push したイメージを使ってみます
- docker rmi localhost:5000/hawksnowlog/alpine
- docker pull localhost:5000/hawksnowlog/alpine
問題なく pull できると思います
UI を使ってみる
- docker pull konradkleine/docker-registry-frontend:v2
docker run -d -e ENV_DOCKER_REGISTRY_HOST=192.168.100.101 -e ENV_DOCKER_REGISTRY_PORT=5000 -p 8080:80 konradkleine/docker-registry-frontend:v2
192.168.100.101 は docker が動作しているホストの IP です
今回であれば Mac マシンの IP になります
でブラウザで localhost の 8080 にアクセスしてみましょう
管理画面が確認出来ると思います
基本はビューワーなので、画面からイメージを push, pull したりすることはできません
最後に
コンテナバージョンの docker レジストリを使ってみました
個人で使う場合にはレジストリも同じマシンで良いですが、サービスなどで使う場合は専用のマシンと専用のストレージがあったほうが良いかと思います
よくあるのは s3 などと組み合わせるとレジストリのストレージ容量を管理しなくて済むので良いかと思います
0 件のコメント:
コメントを投稿