如何使用ACR deploy container
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:
4次build的镜像分别用不同的tag 区分: latest, cli 和git,devops
4. Run container
从上图中选中一个tag 的镜像,右击...,选择“deploy to web app”, 填写app 名,deploy完毕后即可从打开container,
container->overview->url
补充:
azure-pipelines.yaml 用于CICD和用于container registry的内容不同,完成CICD之后push到ACR之前要改一下。