容器執行個體(Azure Container Instances)是一個只要將應用程式放在容器中就可以在雲端上執行的方式,加上其設定簡單(不像APP Service很多設定)不需要再額外配置或管理底層基礎設施,微軟自己也號稱它可以減少管理開銷(因為開發人員可以在幾秒鐘就在Azure上部署一個容器),因此選擇這個來部署Docker Hub上的「gitea container」,這篇主要就是記錄整個部署的過程



建立容器執行個體

首先準備好Docker Hub上的gitea container的位置 【點我前往


接著到Microsoft Azure的「控制台」「所有服務」「容器」「容器執行個體」→「建立容器執行個體



基本設定

  • 資源群組:這個一定要設定(管理用)
  • 容器名稱:這個可以輸入任意名稱(記得都要小寫)
  • 區域:這裡就讓他預設東亞就可以
  • 映像來源:選擇Docker Hub或其它登入
  • 映像類型:直接選擇公用
  • 映像:這裡我們輸入Docker Hub上的路徑「gitea/gitea」
  • OS類型:由於gitea的OS預設是使用Linux,所以無需調整(用Windows的話建立時也會跟你說這個Container不支援Windows)
  • 大小:設定執行個體的效能,可以依照使用量去調整,當然調整越大效能越好(但是越貴XD,容器的計費好像是使用量決定的),這裡我們只是一個Demo範例就預設最低標準就好

網路

  • 網路類型:網路類型設定這裡我的解讀是,如果你的執行個體要提供給外部使用的話設定公用即可,如果是只提供給Azure內部使用就需要先建立虛擬網路,由於gitea是要公開出來使用的因此這裡就直接選公用
  • DNS名稱標籤:有DNS的需求的可以設定,這裡就直接空白
  • 連結埠:這裡Port讓他預設80/TCP即可

剩餘的「進階」、「標籤」就都預設即可,設定完成後就可以「檢閱+建立」等待Azure驗證和資源部署




資源檢視

部署完成後可以直接前往資源檢視

我們可以在概觀的地方找到這個容器部署後的IP位置,用這個IP進入網頁後會發現竟然是「無法顯示網頁」,研究了一下原來是容器執行個體雖然已經架設起來但是gitea container沒有真的執行所以才會無法顯示網頁,因此我們需要想辦法把容器執行個體裡面的gitea給執行起來


先回到Azure的容器執行個體控制台裡面找到「設定」「容器」「連線」,然後使用「/bin/bash」的命令後按下Connect就可以連接到這個容器的執行個體的bash模式


接著在命令列裡面輸入以下命令
gitea web
命令執行後發生錯誤,原來Gitea執行時預設使用3000Port,但是因為3000Port不知道什麼東西使用了,因此Gitea啟動時執行失敗


所以我們需要將Port重新導向,這次我們就使用一開始預設的80Port試試看,在指令的加上Port參數
gitea web --port 80
成功執行!

最後再回到網頁上也正常的進入Gitea的初始化設定頁面囉!
💡提醒:容器執行個體都是無狀態的,只要容器重啟資料都會消失哦!