49
53

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DockerのプライベートレジストリとしてGitLabのContainerRegistryを使う

Last updated at Posted at 2016-08-31

GitLabのversion8.8からDockerコンテナレジストリの機能が使えるようになりました。
今回はGitLabContainerRegistryを使得るようになるまでの手順を書こうと思う。

対象者

パッケージ(yumやapt)でGitLabをインストールした人
※今回は苦行インストールした人は対象にしません、ごめんなさい><

前提

  • GitLabのversion8.8+がインストール済みであること
  • 今回は最低限の設定しか書きません。

設定手順

(1) 証明書の作成

console
mkdir /certs
openssl req \
    -newkey rsa:4096 -nodes -sha256 -keyout /certs/registry.key \
    -x509 -days 365 -out /certs/registry.crt

(2) GitLabのContainerRegistryの設定

  • 下記の三箇所を変更する
/etc/gitlab/gitlab.rb
###############################
# Container registry settings #
###############################

registry_external_url 'https://registry.example.com'


(省略)


##################
# Registry NGINX #
##################

registry_nginx['ssl_certificate'] = "/certs/registry.crt"
registry_nginx['ssl_certificate_key'] = "/certs/registry.key"

(3) 各種設定の再読み込み

gitlab-ctl reconfigure

※ reconfigureはGitLabが起動している状態からを期待して動作してるっぽい

(4) GitLabにアクセスし、リポジトリの真ん中編のRegistryが表示されている場合は、ポチッと!

  • ない場合は、下記の一番下の「Edit Project」を選択する。

  • Features -> Container Registryにチェックをいれ、[Save changes]を設定し、Registryを押す。

使い方

(1) ログインしてみましょう

docker login registry.example.com
  • IDとパスワードが聞かれるので、GitLabにログインするときのものを使用する。
  • 例:root / 5iveL!fe
  • ログイン成功するとsuccessと表示される

これで使用する準備ができました!

(2) ログイン後はイメージのビルドや、プッシュが可能になる。

# カレントディレクトリのDockerfileがビルドされる。
docker build -t registry.example.com/test/test_prj .

# 作成したイメージをレジストリにプッシュする
docker push registry.example.com/test/test_prj

(例)成功すると下記の様に画面に見える。
DockerImage.png

Tips

Centos系の場合

update-ca-trust enable
cp /certs/registry.crt /etc/pki/ca-trust/source/anchors/
update-ca-trust extract

Macの場合

(1) Macにファイルを持ってきて、openでKeyChainで読み込む

open ~/registry.crt

(2) Docker にinsecureレジストリ登録

(3) Dockerのリスタート

49
53
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
49
53

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?