Docker Hubのオンプレ版Docker Registryを構築

プログラミング

Docker Hubではプライベートリポジトリが1つしか作成できませんが、Docker Registry(レジストリ)はDocker Hubのオンプレ版のように閉じられたネットワーク内でのみ使用することができます。会社の制限等でパブリックなDocker Hubが使用できない場合に試してみてください。

Docker Registryの構築

公式を参考にしつつやっていきます。
Docker Registryのコンテナ構築はコマンド一発で完了します。

# docker registryコンテナの構築
$ docker run -d -p 5000:5000 --restart always --name registry registry:2

# 構築確認
[root@localhost vagrantshell]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
eae60caba012        registry:2          "/entrypoint.sh /etc…"   2 hours ago         Up 2 hours          0.0.0.0:5000->5000/tcp   registry

CeontOS7のDockerイメージをpush

# CentOS7のイメージを取得
$ docker pull centos:centos7

# 公式イメージ名から自分のイメージ名に変更
# docker tag $イメージ名:$タグ名 $レジストリIP:$ポート/$リポジトリ名/$イメージ名:$タグ名
$ docker tag centos:7 localhost:5000/pocketcode/centos:7

# イメージの確認
$ docker images
REPOSITORY                         TAG                 IMAGE ID            CREATED             SIZE
registry                           2                   2d4f4b5309b1        3 weeks ago         26.2MB
localhost:5000/pocketcode/centos   7                   b5b4d78bc90c        2 months ago        203MB

# Registryへpush
$ docker push localhost:5000/pocketcode/centos:7

# 一旦ローカルのイメージを削除
$ docker rmi localhost:5000/pocketcode/centos:7

# Registryのイメージを取得
$ docker pull localhost:5000/pocketcode/centos:7

これでDocker Hubのオンプレ版Docker Registryを構築は完了です。

pocketcode

30代のWEB系企業エンジニアです。毎回同じようなことを検索してしまうので、自分の備忘録的に書いています。サイトのデザインはQiita(https://qiita.com)さんに寄せています。