4
4

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コマンドでIBMコンテナ・レジストリへログインする方法

Last updated at Posted at 2018-01-06

ローカル(PC)環境のDockerコマンドで、IBMコンテナ・レジストリへログインして、コンテナイメージを取得する方法について、紹介したものです。Docker Hub は、ユーザー認証なしで無償で利用できるDockerコンテナのリポジトリサービスですが、IBMコンテナ・レジストリは、無償から利用でき、脆弱性検査の機能やプライベートに利用できるIBMが運用するサービスです。

この方法の利点は、bx loginをしなくても、トークンを共有すれば dockerコマンドだけで、IBMコンテナ・レジストリからコンテナのイメージをプルする事ができる点です。 もちろん、トークンを追加したり失効させることも可能です。

認証情報の取得

IBM Cloud へログインして、下記のコマンドで、レジストリのアドレスを取得します。 docker loginコマンドで「Container Registry API エンドポイント」を利用するのでメモっておく。

$ bx cr info
                                           
Container Registry                    registry.ng.bluemix.net   
Container Registry API エンドポイント   https://registry.ng.bluemix.net/api   
IBM Cloud API エンドポイント            https://api.ng.bluemix.net  
<以下省略>

IBMレジストリへアクセスするためのトークンIDのリストする。

$ bx cr token-list
<中略>
トークン ID                            読み取り専用   有効期限   説明   
182e86d5-91e0-5876-99f9-ff7b1ce6a8b6   true           0          mycluster2   
1f01ba7b-2405-5e73-b073-f840e517ee7c   false          0          tok02   
OK

トークンIDを指定して、トークンの本体を取得する。

$ bx cr token-get 182e86d5-91e0-5876-99f9-ff7b1ce6a8b6
固有 ID が「182e86d5-91e0-5876-99f9-ff7b1ce6a8b6」のレジストリー・トークンを取得中...
                 
トークン ID   182e86d5-91e0-5876-99f9-ff7b1ce6a8b6   
トークン      eyJhbGciOiJIU<以下省略>

dockerコマンドでログインする

dockerコマンドで、レジストリへログインします。 この時のユーザーIDは、tokenで固定です。 トークン形式としているので、パスワードの文字列だけで、ユーザーIDとも紐づく様になっているためです。

$ docker login -u token -p eyJhbGciOiJIU<以下省略> https://registry.ng.bluemix.net/api  

トークン形式なので、bx loginをしなくても、トークンを共有すれば dockerコマンドだけで、IBMレジストリからコンテナのイメージをプルする事ができる点がメリットです。 もちろん、トークンを失効させることも可能です。

コンテナ・イメージをローカルへプルする

bxコマンドで、IBMレジストリのイメージをリストして、目的のイメージをリストして、目的のリポジトリ名をメモっておく。

$ bx cr image-list

dockerコマンドで、IBMコンテナ・レジストリのコンテナ・イメージをリポジトリ名を指定して、ローカル環境へプルする。

$ docker pull registry.ng.bluemix.net/takara/webapp1:v1

レジストリのリージョンを変更する

次のコマンで、メニュー形式で変更できる。 変更先を指定したいときは、コマンドの後に、例えばap-southなどのキーワードを指定する。

$ bx cr region-set
領域を選択してください
1. ap-south ('registry.au-syd.bluemix.net')
2. eu-central ('registry.eu-de.bluemix.net')
3. international ('registry.bluemix.net')
4. uk-south ('registry.eu-gb.bluemix.net')
5. us-south ('registry.ng.bluemix.net')
Enter a number ()> 

この後に、bx cr loginを使って、レジストリにログインして、bx cr infoでエンドポイントを取得して、あとは同じ操作でアクセスできる。

以上

4
4
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
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?