Docker Registryをローカル環境に構築する

Docker Hubは便利なんですが、プライベートで使用するリポジトリを管理するためには、Docker Hubと同等のものをローカル環境で使えると便利です。

というわけで、Docker Registryを使うことにしました。
タグを見ると、『2.6』が最新バージョンのようです。

インストールからイメージをプッシュするまで

$ docker run -d -p 5000:5000 registry:2.6
$ docker push localhost:5000/hogehoge:0.1

リポジトリの永続化

しかし、このままではDocker Registryを停止させればリポジトリが消えてしまいます。
Docker Registryを起動する時に、-vオプションでホストのディレクトリをDocker Registry側でマウントしてやります。
Docker Registryは、/var/lib/registryにレジストリデータを保存しているので、ホストディレクトリをこれにマウントしてやります。

$ docker run -d -p 5000:5000 -v /var/lib/registry:/var/lib/registry registry:2.6

参考サイト

プライベートなDockerレジストリサーバーをコンテナで立てる (Qiita)