3
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 1 year has passed since last update.

Podman DesktopからIBM Cloud Container RegistryにイメージをPUSHしよう

Last updated at Posted at 2023-05-09

はじめに

本記事ではタイトルの通り、「Podman Desktopを使ってコンテナイメージをIBM CloudのコンテナレジストリにPUSHする」手順を紹介します。
一部コマンド実行が必要になりますが、ほぼコピー&ペーストで実施できます。

筆者はMacで実行していますが、Windowsでもコマンドはそのまま利用可能です。

コンテナレジストリの作成

はじめにPUSH先のコンテナレジストリの準備をします。

IBM Cloudにログインし、左上のナビゲーションメニューを選択し、[Container Registry] > [名前空間]をクリックします。
001.png

Container Registryのサービスが未作成の場合は作成をしてください。
動作確認はライトプランで実施しています。

ロケーションは 東京 を指定し、[作成]をクリックします。
002.png

名前を入力し、[作成]をクリックします。
003.png

今回はpodman-desktop-sampleという名前空間を使用します。
名前空間は一意である必要があるため、ご自身の環境で試す際は違う名前を指定し作成・使用してください。

認証情報の作成

名前空間が作成できたら、podmanコマンドでローカルのコンテナイメージをIBM CloudのコンテナレジストリにPUSHするための認証情報を準備します。

画面上部の[管理]から[アクセス(IAM)]をクリックします。
004.png

管理画面が表示されたら、[APIキー]を選択し、[作成]をクリックします。
005.png

ダイアログが表示されたら、APIキーの名前を入力して、[作成]をクリックします。
006.png

APIキーの作成が完了したら、コピーしメモ帳などに保管&ダウンロードをしましょう。
007.png

この画面を閉じると二度と中身を確認できなくなるため、忘れた場合や紛失した場合はキーを削除し、再度作成しましょう。

コンテナレジストリへのログイン

Podman DesktopでIBM Cloudのコンテナレジストリへログインをしたいところですが、執筆時点ではできないためターミナルでコマンドを実行します。
コマンドを実行し終わると、下記リストに作成した名前空間のコンテナレジストリが追加される様になります。
008.png

まずはIBM Cloud CLIが必要になるため下記コマンドを実行します。

$ ibmcloud plugin install container-registry -r 'IBM Cloud'

IBM Cloud CLIがインストールできたら、CLIでIBM Cloudにログインをします。
IBM Cloudの右上のユーザーアイコンをクリックし、[CLIとAPIにログイン]をクリックします。
009.png

ワンタイム・パスコードが表示されたら、IBM Cloud CLI に表示されているコマンドをコピーします。
010.png

このコマンドは第三者に共有しない様に注意してください。

コピーしたコマンドを実行します。

$ ibmcloud login -a https://cloud.ibm.com -u passcode -p XXXXXXXXXX
API エンドポイント: https://cloud.ibm.com
認証中です...
OK

ターゲットのアカウント XXX's Account (xxxxxxxxxxxxxxxxxxxxxxx)

リージョンを聞かれるので、jp-tokを選択します。

リージョンを選択します (または Enter キーを押してスキップします):
1. au-syd
2. in-che
3. jp-osa
4. jp-tok
5. kr-seo
6. eu-de
7. eu-gb
8. ca-tor
9. us-south
10. us-east
11. br-sao
数値を入力してください> 4
ターゲットのリージョン jp-tok

無事にログインができたら下記情報が表示されます。

API エンドポイント:      https://cloud.ibm.com
Region:                  jp-tok
ユーザー:                xxx@xxx.com
アカウント:              XXX's Account (xxxxxxxxxxxxxxxxxxxxxxx)
リソース・グループ:      リソース・グループがターゲットになっていません。'ibmcloud target -g RESOURCE_GROUP' を使用してください
CF API エンドポイント:   
組織:                    
スペース:  

最後に先ほど作成したAPIキーを使って、PodmanでIBM Cloudのコンテナレジストリにログインをします。
①にはiamapikey、②には控えておいたAPIキーを入力します。

$ podman login jp.icr.io
Username: ①
Password: ②(入力内容は画面には表示されません)
Login Succeeded!

ログインができたので、Podman DesktopのRegistriesに表示されているか確認してみましょう。
右下の[歯車マーク] > [Registries]をクリックします。
011.png
Podman Desktopでもレジストリが表示されました。

コンテナイメージをコンテナレジストリにPUSH

今回はredhat/ubi8-micro のコンテナイメージを使って動作確認しようと思います。
まずは[Images] > [Pull an image]からイメージをPULLします。
012.png

redhat/ubi8-microを入力し、[Pull image]をクリックします。
013.png

完了したら[Done]をクリックします。
014.png

自身のレジストリにPUSHするために、タグ付けをします。
タグ付けはコマンドで実行する必要があるので下記コマンドを打ちましょう。

$ podman tag イメージ jp.icr.io/{名前空間名}/{リポジトリー名}

redhat/ubi8-micro のコンテナイメージにタグ付けをしてみた場合は下記の様になります。

$ podman tag redhat/ubi8-micro jp.icr.io/podman-desktop-sample/ubi8-micro

タグ付けができると、GUIはこの様な状態になります。
015.png

それではレジストリにPUSHしましょう。
ImagesにてPUSHしたいイメージのACTIONSの3点リーダーをクリックし、[Push image]をクリックします。
016.png

タグに紐づくイメージが選択できるので、jp.icr.io/podman-desktop-sample/ubi8-microを選択し、[Push image]をクリックします。
017.png

PUSHできました。
[Done]をクリックして閉じておきましょう。
018.png

最後にIBM Cloudのコンテナレジストリを確認してみましょう。
019.png

PUSHしたイメージが確認できました、以上で終了です。

3
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
3
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?