CentOS7 にDocker Registoryをセルフホストする方法

Dockerだ!
DockerComposeだ!

バンバンDockerImageを量産していると、
ある日、「Dockerイメージのバージョン管理がしたい!」ってなる。

DockerHubは非公開にすると有料だし、Gitlabはgit repositoryも込みなのでちょっと重い。
そんなときはDockerの公式が用意しているDockerRegistoryが良い。

非公開にしたいDockerイメージを管理できる、DockerRegistoryをCentOS7に楽に構築します。

広告

Dockerをインストール、起動する

dockerはCentOS7のyum baseリポジトリに入っています。
なのでyumでそのままインストールできます。
起動とか設定が手間なのでrootユーザーで進めます。

rootユーザーで実行

sudo なしでDockerコマンドを実行したい場合、過去記事をどうぞ。

dockerをsudoなしで実行する ~ グループ追加 ~

dockerのインストール手順

DockerHubにあるregistry:2のイメージをして起動する

使用するDokckerImage

使用するdocker imageはDockerhubで公式に提供されているregistry:2を使用します。

ついでに起動用のディレクトリを用意します。

これで準備はおっけー。

DockerContainerの起動コマンド

起動コマンドは下記。
マウント先は先程作成した/var/opt/docker/registryを使用します。
ポートは5000を使用し、restart=alwaysにします。

簡単、、、、笑

SSL化していない場合、/etc/docker/daemon.jsonを変更すること

dockerが外部からイメージを取得する際、HTTPSでの接続をデフォルトとしている。
そのため、registoryがSSL化を行っていない場合、
docker client側では/etc/docker/daemon.jsonに設定を追加する必要があります。

例えば、192.168.240.33のサーバーにregistoryが起動している場合
下記のように記述。



以上、
今後は社内のCI/CD派の勢いが増すことでしょう。

じゃあね〜〜〜〜。