LoginSignup
2
1

More than 1 year has passed since last update.

Azure Container Registryを作成しコンテナイメージをプッシュ

Last updated at Posted at 2023-04-22

目的

業務でAzure Container Instances使う可能性が出てきたため
その際の調査結果を書き留めておくのが目的です

概要

この記事はAzure Container Registryにコンテナイメージをプッシュするところまでを記載しています

実施環境

  • Windows 11
  • WSL2
  • Docker DeskTop 4.18.0 (104112)

必要なもの

  • Azureアカウント
  • Azure CLI バージョン 2.4 以降
  • Windowsターミナル

事前準備

検証用のコンテナアプリを作成

ユーザ名を入力してそれをprintで表示するだけのFlaskアプリを作成します

(1) app.py

import click
from flask import Flask
from flask.cli import AppGroup

app = Flask(__name__)

user_cli = AppGroup('user')

@user_cli.command('create')
@click.argument("name")
def create_user(name):
    print(name)

app.cli.add_command(user_cli)

(2) requirements.txt

Flask==2.2.3

(3) Dockerfile

FROM python:3.10
WORKDIR /usr/src/app
COPY . .
RUN pip install --no-cache-dir -r requirements.txt
cmd flask user create hoge

(4) docker-compose.yml

version: '3'
services:
  flask_job:
    container_name: flask_job
    build:
      context: .
      dockerfile: Dockerfile

ビルドする

docker compose up -d --build

実行する

docker compose run --rm flask_job

以下のような表示が帰ってくればOKです

hoge

手順

1. Azure CLIを使いAzureにログイン

az login

2.リソースグループの作成

az group create --name sample20230422 --location japaneast

3. Azure Container Registryを作成

az acr create --resource-group sample20230422 --name sample20230422 --sku Basic

4. Azure Container Registryへログイン

az acr login --name sample20230422

以下のような状態になればOKです

Login Succeeded

5. Azure Container Registryへプッシュ

※sample20230422-flask_jobは事前準備でビルドした際に付けられたもの

① プッシュ先のコンテナレジストリのフル ネームを取得

az acr show --name sample20230422 --query loginServer --output table

② プッシュするイメージにタグをつける

docker tag sample20230422-flask_job sample20230422.azurecr.io/sample20230422-flask_job:v1

③ プッシュ

docker push sample20230422.azurecr.io/sample20230422-flask_job:v1

プッシュが完了すると以下のような文言が表示されます

...
ae56c0c5405b: Pushed
v1: digest: sha256:7f6651b3c3220fd1806bbd2d1c01ddf839bca906c5a2de0c766e1f2150ba2126 size: 2843

6. プッシュしたイメージを確認する

az acr repository list --name sample20230422 --output table

以下のような結果が帰ってくればOK

Result
------------------------
sample20230422-flask_job

参考サイト

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