[ASP.net core] 把 asp.net core app 推上 fly.io
[ASP.net core] ASP.net core + React + docker deploy to fly.io
2023/01/13 13:58:20
自從 Heroku 取消免費 dyno 方案之後,客家人如我就逃竄到其他平台去了,後來我找到了 flyio,免費額度可以開 3 台 VM,扣掉一台保留作 build machine 還有兩台,綁卡可以增加到十台,其他像對外流量、硬碟空間等都還算夠用。
那接下來就是紀錄下把 Asp.net + react 專案部屬上 flyctl 的過程
建立專案
專案建立時選擇「搭載 React.js 的 ASP.net Core」
在建立一般 ASP.net 專案的時候會有「啟用 docker 支援的選項」,但是搭載 React.js的沒有,這部分我們等下會手動建立。
啟用 docker 支援
在專案上右鍵 > 加入 > docker 支援,選擇 Linux
完成後會自動打開 Dockerfile 文件,我們需要改裡面的內容:
在 FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
底下加上
# nodejs (build) |
在本地用 docker 測試
Properties > launchSettings.json
"Docker": { |
上面的 port 44436 依專案而定,看加 docker 之前用哪個 port 跑的就是哪個 port。
Deploy to flyio
接下來我們可以直接發布到 flyio
flyctl launch |
首次 deploy 後會自動生成一個 fly.toml
檔案,有些情況下 listen port 會是錯的,要確定 internal_port
是 80
... |
再次 deploy 即可成功
flyctl deploy |