LoginSignup
23
22

More than 1 year has passed since last update.

GitLab Container Registry を有効化して、Dockerから利用する

Last updated at Posted at 2017-04-10

GitLab Container Registry を GitLab 9.0 で有効にして、
Docker から利用してみます。

1. 前提条件

2. 設定

以下を設定する。

/etc/gitlab/gitlab.rb
registry_external_url 'https://registry.example.co.jp'
registry_nginx['ssl_certificate'] = "/etc/gitlab/ssl/example.crt"
registry_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/example.key"

SSLはいろいろ面倒なのでLet's Encryptなどで取得すると良いでしょう。
設定を反映

$ sudo gitlab-ctl reconfigure

3. Dockerから使う

GitLabのプロジェクトからRegistryが出てきます。

image

3-1. Dockerからログイン

インストラクションの通りですが、Dockerホストからレジストリにログインします。

bash
$ sudo docker login registry.example.co.jp
Username (XXXXX): <GitLabのuser_id>
Password:<GitLatのuser_password>
Login Succeeded

以下のようなエラーが出た場合は、gnupg2 passというパッケージが足りないそうです。

Error saving credentials: error storing credentials - err: exit status 1, out: `Error spawning command line “dbus-launch --autolaunch=2fb346aaad55463a89ab59d4438349ab --binary-syntax --close-stderr”: Child process exited with code 1`

以下のコマンドでインストールしましょう

sudo apt install gnupg2 pass

DockerHubへのdocker loginが出来なかった場合の対処 - Qiita
https://qiita.com/developer-kikikaikai/items/03131dd1a9ac2b99e340

3-2. Docker HubからのイメージをGitLab Container Repositry にコピーしてみます。

良さげなイメージを検索

$ sudo docker search nginx

Pullします。

$ sudo docker pull nginx

コンテナーイメージを確認

$ sudo docker images 

イメージにGitLab Container Registryのタグ名を付ける

$ sudo docker tag nginx registry.example.co.jp/hogehoge/hogeproject

registry.example.co.jpにPushする。

$ sudo docker push registry.example.co.jp/hogehoge/hogeproject

4. Docker Run

Pushしたイメージを起動してみる

$ sudo docker run registry.example.co.jp/hogehoge/hogeproject

参考:
http://qiita.com/masakura/items/802f4b8ce322d2543c80

23
22
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
23
22