Dockerだ!
DockerComposeだ!
バンバンDockerImageを量産していると、
ある日、「Dockerイメージのバージョン管理がしたい!」ってなる。
DockerHubは非公開にすると有料だし、Gitlabはgit repositoryも込みなのでちょっと重い。
そんなときはDockerの公式が用意しているDockerRegistoryが良い。
非公開にしたいDockerイメージを管理できる、DockerRegistoryをCentOS7に楽に構築します。
Dockerをインストール、起動する
dockerはCentOS7のyum baseリポジトリに入っています。
なのでyumでそのままインストールできます。
起動とか設定が手間なのでrootユーザーで進めます。
rootユーザーで実行
sudo なしでDockerコマンドを実行したい場合、過去記事をどうぞ。
dockerのインストール手順
1 2 3 |
# yum install -y docker # systemctl start docker # systemctl enable docker |
DockerHubにあるregistry:2のイメージをして起動する
使用するDokckerImage
使用するdocker imageはDockerhubで公式に提供されているregistry:2を使用します。
ついでに起動用のディレクトリを用意します。
1 |
# mkdir -p /var/opt/docker/registry |
これで準備はおっけー。
DockerContainerの起動コマンド
起動コマンドは下記。
マウント先は先程作成した/var/opt/docker/registryを使用します。
ポートは5000を使用し、restart=alwaysにします。
1 |
# docker run -d -v /var/opt/docker/registry:/var/lib/registry -p 5000:5000 --restart always --name registry registry:2 |
簡単、、、、笑
SSL化していない場合、/etc/docker/daemon.jsonを変更すること
dockerが外部からイメージを取得する際、HTTPSでの接続をデフォルトとしている。
そのため、registoryがSSL化を行っていない場合、
docker client側では/etc/docker/daemon.jsonに設定を追加する必要があります。
例えば、192.168.240.33のサーバーにregistoryが起動している場合
下記のように記述。
1 2 3 |
{ "insecure-registries": ["192.168.240.33:5000"] } |
以上、
今後は社内のCI/CD派の勢いが増すことでしょう。
じゃあね〜〜〜〜。