概要
Oracle Cloud のコンテナレジストリサービスであるOCIRを操作(プッシュ・プル)する方法を記載します。
公式ドキュメントもありますが、すこし分かりにくかったため補完するような記事です。
イメージのプッシュとプル
OCIRへログインするための前提条件
ユーザーの認証情報を作成する
アイデンティティとセキュリティ
- 自分のプロファイル
- トークンおよびキー
へいきます。
下にスクロールすると認証トークン
が出てくるためトークンの生成
を押します。
トークン作成後にトークン文字列を手元に保管します。
再表示はできないため注意です。
テナンシのオブジェクト・ストレージ・ネームスペースを取得する
ホーム画面を開いて、テナンシのリンクをクリックします。
オブジェクト・ストレージ・ネームスペースを取得します。
OCIRのエンドポイントを調べる
エンドポイントはリージョンごとに異なるため自分のリージョンを確認します。
ocir.<リージョン識別子>.oci.oraclecloud.com
ocir.ap-osaka-1.oci.oraclecloud.com
ocir.ap-tokyo-1.oci.oraclecloud.com
その他のリージョンはリージョンおよび可用性ドメインを参照
OCIRへのログイン
Dockerをインストールした端末から以下のコマンドを実行します。
docker login ocir.<リージョン識別子>.oci.oraclecloud.com
その後、ユーザー名とパスワードが聞かれます。
以下を入力します。
- ユーザー名:
オブジェクト・ストレージ・ネームスペース/ユーザー名
- パスワード:
認証トークン
たとえば、オブジェクト・ストレージ・ネームスペースabcdefg
でユーザー名exampleuser
ならDockerのユーザー名はabcdefg/exampleuser
です。
OCIRヘのプッシュ
プッシュするためにコンテナイメージへタグづけします。
docker tag <イメージ名>:<タグ名> ocir.<リージョン識別子>.oci.oraclecloud.com/<オブジェクト・ストレージ・ネームスペース>/<OCIRのリポジトリ名>:<タグ名>
その後プッシュします。
docker push ocir.<リージョン識別子>.oci.oraclecloud.com/<オブジェクト・ストレージ・ネームスペース>/<OCIRのリポジトリ名>:<タグ名>
OCIRからのプル
プッシュと同様にログインしたあとで以下コマンドを実行します。
docker pull ocir.<リージョン識別子>.oci.oraclecloud.com/<オブジェクト・ストレージ・ネームスペース>/<OCIRのリポジトリ名>:<タグ名>