Azure Container Registry (ACR) 是個類似於 Docker Hub 的服務, 可以用來建立私有的 Docker Hub 以儲存私人 image,滿足企業內網的使用需求,同時也直接整合公司 AD,對於 image 的使用可以很方便的做到權限控管。
因為在工作上,還是遇到很多同仁對於容器化的不熟悉,更別說來操作內部搭建的 ACR,於是此篇簡單紀錄在 ACR 上的登入、推送、拉取等基本操作流程。
建立 ACR
ACR 如果在 Portal 中用中文搜尋的話,記得要輸入「容器登錄」,翻譯成中文後就覺得好怪。
建立時在價格方案選擇最低的「基本」,其他設定保持預設值,直接建立就可以了。
常見的登入方式有以下兩種:
管理員帳戶
剛剛勾選「管理使用者」後取得的資訊即為管理員帳戶,有點像是使用 local 帳號來登入 ACR,使用方式如下:
在跳出的「Username」與「Password」分別輸入Portal 上的資訊即可,這個方式使用上比較直觀且只需要 Docker 指令,畢竟有時候還要另外安裝 Azure CLI 也是挺麻煩的,不過缺點也很明顯,沒辦法做到權限控管,因為每個知道密碼的人都能拿到所有權限。
Entra ID (Azure AD)
使用 Entra ID 就能做到個人權限管理,不過登入上就需要多一些步驟:
執行這個指令後可以繼續接著 docker push 或 docker pull 使用,不用再另外 docker login 了。
另外,如果 Docker 主機沒辦法安裝 Azure CLI,可以先在其他機器上使用以下指令取得暫時的帳號密碼:
暫時的帳號密碼會如下輸出:
接著再回到 Docker 主機上執行:
這邊帳號都固定是使用 00000000-0000-0000-0000-000000000000 來登入喔!
Docker Push
首先任意下載一個測試用的 image ,這邊選擇使用 nginx,docker tag 來修改 image 的存放庫至我們剛剛建立的 ACR,最後再 docker push 就可以囉!
切回 ACR 的畫面,點選左側的「存放庫」就能看到我們推上來的 nginx image。
docker pull 就跟一般操作差不多,記得前面帶上自己的 ACR 名稱就好。
從 ACR 中移除 image
執行完再回到 ACR Portal,就看不到 nginx image 囉!
留言
張貼留言