LoginSignup
0

More than 1 year has passed since last update.

WSL2 でビルドした Docker イメージを Azure Container Registry へ push する

Posted at

はじめに

Azure 上の各サービスでコンテナーを実行させるためには、コンテナー レジストリが必要となります。Azure では、カスタムのイメージを格納するためのプライベート コンテナー レジストリとして、Azure Container Registry が提供されています。
ここでは、Azure Portal で Azure Container Registry をセットアップし、WSL2 上の docker CLI からカスタムイメージを push する方法を説明します。

前提条件

Azure Container Registry のセットアップ

Azure Portal を起動します。[リソースの作成] で、"Container Registry" を検索して、[Container Registry] - [作成] を選択します。
image.png

[コンテナーレジストリの作成] で各種項目を入力し、[確認および作成] - [作成] を選択します。
[レジストリ名]: <入力した値>.azurecr.io がレジストリの名前になります。docker login, docker push で、このレジストリ名を使用します。
[SKU]: [Basic]、[Standard]、[Premium] から選択します。上位の SKU ほど、ディスク容量、帯域幅のスペックが上がります。作成後に、SKU を変更することもできます。
image.png

デプロイが完了したら、[リソースに移動] を選択します。
image.png

[設定] - [アクセス キー] を選択します。[管理者ユーザー] を [有効] にします。
この画面の [ログイン サーバー]、[ユーザー名]、[Password] は、以降の手順で使用するので、参照できるようにしておいてください。
image.png

Azure Container Registry へイメージを push

WSL 側から、docker images コマンドでローカルのイメージを一覧します。
Azure Container Registry へプッシュしたいイメージの "IMAGE ID" を確認してください。

WSL
$ docker images
REPOSITORY                     TAG       IMAGE ID       CREATED         SIZE
hiromasa/netcorewebapp001      latest    ac25818306de   36 hours ago    217MB

docker tag <IMAGE ID> <新しいイメージ名> コマンドで、新しいイメージ名を追加します。
には、プッシュしたいイメージの "IMAGE ID" を指定します。
<新しいイメージ名> には、<ログイン サーバー名>/<任意のイメージ名> を指定します。

WSL
$ docker tag ac25818306de azconreg001.azurecr.io/netcorewebapp001

docker images コマンドでイメージを一覧します。同じ "IMAGE ID" で新しいイメージ名が追加されていることを確認します。

WSL
$ docker images
REPOSITORY                                TAG       IMAGE ID       CREATED         SIZE
azconreg001.azurecr.io/netcorewebapp001   latest    ac25818306de   36 hours ago    217MB
hiromasa/netcorewebapp001                 latest    ac25818306de   36 hours ago    217MB

docker login <ログイン サーバー名> で、Azure Container Registry にログインします。
Username には、Azure Container Registry の [アクセス キー] 画面の [ユーザー名]、Password には、同画面の [password] を指定します。

WSL
$ docker login azconreg001.azurecr.io
Username:
Password:
...
Login Succeeded

docker push <イメージ名> で、Azure Container Registry にイメージを push します。
<イメージ名> には、Azure Container Registry のログイン サーバー名を先頭に付与したイメージ名を指定します。

WSL
$ docker push azconreg001.azurecr.io/netcorewebapp001
Using default tag: latest
The push refers to repository [azconreg001.azurecr.io/netcorewebapp001]
...

Azure Container Registry での確認

Azure Portal 側の [サービス] - [リポジトリ] を選択し、リポジトリの一覧に、push したイメージが表示されていることを確認します。
image.png

まとめ

Azure Container Registry へカスタム イメージを push する方法を説明しました。これで、クラウド経由で、カスタム イメージを参照できるようになります。

参考

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
0