Azure 本身有提供類似 Docker Hub 的服務,名稱是 Azure Container Registry
(ACR),讓我們可以上傳 repository 到其上,配合其他 Azure 服務使用。
比起 Docker Hub 筆者認為的差異優勢是可以跟 azure 的虛擬網路、安全服務整合
,達到類內網管理效果。
接著利用 Azure CLI - az acr 快速創建一個 hello world 專案作演示 :
第一步 : 建立空的 Basic 版本 ACR ,費用大約 $0.167 美元/每天 ,實時價格可以點連結查看
az group create --name demo --location eastasia # 創建群組 : 有資源群組的筆者可省略
az acr create --resource-group demo --name weihanacrdemo --sku Basic # 創建 ACR
第二步 : 創建 Docker Image 跟推送到 ACR 上
這提一個小觀念是 az acr
有封裝 docker
的一些操作,可以讓我們不需要安裝 docker 環境
即可操作 docker 動作,像是我們可以利用 Dockerfile + az acr 命令就完成 image 的建立跟 push 動作,並幫我們整合 Azure 帳號安全驗證
echo FROM hello-world > Dockerfile
az acr build --image sample/hello-world:v1 --registry weihanacrdemo --file Dockerfile .
其效果等同於 docker 以下命令
echo FROM hello-world > Dockerfile
docker build - < Dockerfile
docker push weihanacrdemo.azurecr.io/sample/hello-world:v1
第三步 : 等待 build 完成之後就可以在 ACR 管理頁面看到新增的 repository
第四步 : 利用 az acr run 讓我們借助 azure 不需要本機安裝 docker 環境
,即可運行查看結果
az acr run --registry weihanacrdemo --cmd '$Registry/sample/hello-world:v1' /dev/null
總結來說 : 配上 Azure Cloud Shell + az acr 足以應付基本的 docker 需求,挺方便。