1
0

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 Registryの保存先にIBM Cloud Object Storageを使う

Last updated at Posted at 2019-06-21

はじめに

IBM CloudでOpenShiftのオフライン環境インストールをするのにDockerRegistryが必要で、
そのDocker Registryの保存先として、IBM Cloud Object Storageを使いたかったのですが、Docker Registry Storage Driverの設定でS3互換のIBM Cloud Object Storageのドキュメンテーションが無くて接続するまで、四苦八苦したのでメモとして残しておきます。

前提

事前に以下のサイトを参考にCentOS7のdocker-distributionを使ってプライベートレジストリは構築済み

IBM Cloud Object Storageの必要な情報

(設定名)                                (例)
{cos_hmac_keysのccess_key_id}     => xxxxyyyy86a4e6d8ceb76487f1b0c19
{cos_hmac_keysのsecret_access_key}  => xxxxeyyyy17c753dcd229fbb8b0ee56a69fcca82be032ef
{ロケーション}                        => us-geo
{ロケーションのエンドポイント}           => https://s3.private.us.cloud-object-storage.appdomain.cloud/
{バケット名}                          => denno
{バケットのパス}:                      => /
  • cos_hmac_keysは バケットのサービス資格情報作成時に、[ Include HMAC Credential 」を選択しないと出力されません。(最初気がつかなくてハマりました。)
cos-スクリーンショット 2019-06-21 16.37.45.png

docker-distributionの設定

  • config.xml
version: 0.1
log:
  fields:
    service: registry
storage:
    cache:
        layerinfo: inmemory
    #filesystem:
    #    rootdirectory: /var/lib/registry
    s3:
      accesskey: {cos_hmac_keysのccess_key_id} 
      secretkey: {cos_hmac_keysのsecret_access_key} 
      region: {ロケーション}
      regionendpoint: {ロケーションのエンドポイント}
      bucket: {バケット名}
      encrypt: true
      secure: true
      v4auth: true
      chunksize: 5242880
      rootdirectory: {バケットのパス}
http:
    addr: :5000
    tls:
      certificate: /var/lib/registry/certs/registry.lab.example.com.crt
      key: /var/lib/registry/certs/registry.lab.example.com.key

結果

設定反映後、Docker Registryに対してdocker pushすると、IBM Cloud Object Storageのバケットの画面にDocker Registryに保存されたファイルが出力されます。
スクリーンショット 2019-06-21 16.50.27.png

最後に

IBM Cloud Object Storageは S3互換サービスなので、他のS3互換のサービスでも参考になると思います。

(参考)Use minio as docker registry storage driver
https://medium.com/@enne/use-minio-as-docker-registry-storage-driver-c9c72c72cc87

追記

わざわざObjectStorageに放り込むのは、DockerRegistryが動作する仮想インスタンスを必要な時にだけ、契約すればいいかなって
発想からでした。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?