2
1

More than 1 year has passed since last update.

gitlabのコンテナレジストリ

Posted at

概要

Docker Hubでコンテナイメージを登録できますが、githubでもコンテナレジストリを使うことでコンテナイメージを登録することが出来るようなので、gitlabのコンテナレジストリの有効化とコンテナイメージの登録をしてみます。

環境

■gitlabサーバ
 OS:CentOS7
 IPアドレス:192.168.11.211
■gitlab
 ユーザ名:root
 プロジェクト名:ansible

設定方法

gitlabのコンテナレジストリを有効化するためには、/etc/gitlab/gitlab.rb内のregistry_external_urlを変更します。
コンテナレジストリ用のポートはgitlabのexternal_urlで使用しているポート(デフォルト80 or 443)以外にします。

/etc/gitlab/gitlab.rb
#コメントアウトを外し、gitlabのドメインを登録する
#registry_external_url '<gitlabのドメイン名orアドレス>:<ポート番号>'
registry_external_url 'http://192.168.11.211:5050'

以下のコマンドでgitlabを再構成します。

gitlab-ctl reconfigure

gitlabにログインし、目的のプロジェクトのトップ画面を開きます。
左メニューより[パッケージとレジストリ]-[コンテナレジストリ]をクリックします。
004.png

以下の画面が表示されます。
002.png

コンテナイメージを登録するために、まずレジストリを登録しますが、
今回httpを利用しているため、登録時エラーが発生します。
dockerのサービスファイルにinsecure-registryをオプションに加えます。

/usr/lib/systemd/system/docker.service
#ExecStartに「--insecure-registry <gitlabのドメインまたはアドレス>:<ポート番号>」を付け加える
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry 192.168.11.211:5050

サービスファイルを修正後、ファイルを読込み、サービスを再起動します。

systemctl daemon-reload
systemctl restart docker.service

コンテナイメージを登録するには、dockerコマンドでレジストリ及びイメージの登録をします。
※登録前にdockerfileを作成します。

docker login http://192.168.11.211:5050
docker build -t 192.168.11.211:5050/root/ansible /root/work/
docker push 192.168.11.211:5050/root/ansible

コンテナイメージが登録されていると、画面のように表示されます。

003.png

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1