如何使用ACR deploy container

2021-01-04  本文已影响0人  芒鞋儿

ACR:azure container registry
在Azure上deploy container需要事先建立ACR,然后从ACR上deploy container,以下是做法:
使用的sample source code:https://github.com/ltwlf/azure-functions-docker-hello
1.
azure portal -> add new resource : azure container registry
创建之后
Setting->Access Key-> enable admin user,
系统会自动生成pwd

2. 构建镜像并push 到ACR
2.1 在local 构建镜像然后Push到ACR

git clone https://github.com/ltwlf/azure-functions-docker-hello.git
cd azure-functions-docker-hello //1. clone source
cat Dockerfile // check Dockerfile content, show as below
FROM leitwolf/azure-functions-node
ENV AzureWebJobsScriptRoot=/home/site/wwwroot
COPY . /home/site/wwwroot
docker build -t arial.azurecr.io/hello-docker-function:latest .  //build new image
docker images // confirm built image

docker login <acrname>.azurecr.io -u <ACR name> -p <password> // login 到ACR,mac 在terminal即可实行,Win在powershell下可实行
docker push arial.azurecr.io/hello-docker-function //push local image to acr

2.2在ACRbuild镜像,但是用本地的dockerfile

az login //sign in with CLI
az configure --default acr=<acr name> //设定为缺省环境
az acr build -t hello-docker-function:cli . //在cli 上build本地source,自动被push到ACR上

2.3在CLI上直接从gitHub的source上Build镜像

az acr build -t hello-docker-function:git https://github.com/ltwlf/azure-functions-docker-hello.git
//不使用本地source 直接从github上build并push到ACR

2.4 从AzureDevOps上build并push到ACR

az acr build -t hello-docker-function:devops https://xxxxxx@dev.azure.com/&&XX&&/functions-docker-hello/_git/functions-docker-hello

以上repo url在DevOps->Repos->Files->Clone

3.确认四次build的结果
portal->ACR ->registry:

四次built的镜像

4次build的镜像分别用不同的tag 区分: latest, cli 和git,devops

4. Run container
从上图中选中一个tag 的镜像,右击...,选择“deploy to web app”, 填写app 名,deploy完毕后即可从打开container,
container->overview->url

スクリーンショット 2021-01-04 19.23.07.png

补充:
azure-pipelines.yaml 用于CICD和用于container registry的内容不同,完成CICD之后push到ACR之前要改一下。

ref:
https://www.youtube.com/watch?v=Bc7FpteQSAk

上一篇下一篇

猜你喜欢

热点阅读