在 Windows 開發人員電腦上設定 Linux Service Fabric 叢集
本文件涵蓋如何在 Windows 開發電腦上設定本機 Linux Service Fabric 叢集。 設定本機 Linux 叢集,對快速測試以 Linux 叢集為目標但在 Windows 電腦上開發的應用程式而言,會很有用。
必要條件
以 linux 為基礎的 Service Fabric 叢集不會在 Windows 上執行,但為了啟用跨平臺原型設計,我們提供了 Linux Service Fabric 一個 box 叢集 docker 容器,可透過適用於 Windows 的 Docker 進行部署。
在開始之前,您必須:
- 至少 4 GB 的 RAM
- 適用於 Windows 的 Docker的最新版本
- Docker 必須以 Linux 容器模式執行
建立本機容器並設定 Service Fabric
若要設定本機的 Docker 容器,並在容器上執行 Service Fabric 叢集,請執行下列步驟:
使用下列內容更新您主機上的 Docker 精靈設定,然後重新啟動 Docker 精靈:
{ "ipv6": true, "fixed-cidr-v6": "2001:db8:1::/64" }
建議的更新方法是前往:
- Docker 引擎設定 > Docker 圖示 >
- 新增上面所列的新欄位
- 套用並重新啟動 - 重新啟動 Docker 精靈以讓變更生效。
透過 PowerShell 啟動叢集。
Ubuntu 20.04 LTS:docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mcr.microsoft.com/service-fabric/onebox:u20
Ubuntu 18.04 LTS:
docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mcr.microsoft.com/service-fabric/onebox:u18
提示
根據預設,這會提取包含最新版 Service Fabric 的映像。 如需特定的修訂,請造訪 Docker Hub 上的 Service Fabric Onebox 頁面。
選擇性:建置您的擴充 Service Fabric 映像。
在新目錄中建立名為
Dockerfile
的檔案,以建置您的自訂映像:注意
您可以使用 Dockerfile 來調整上述映像,以在您的容器中新增其他程式或相依性。 例如,新增
RUN apt-get install nodejs -y
將允許以客體可執行檔形式支援nodejs
應用程式。FROM mcr.microsoft.com/service-fabric/onebox:u18 RUN apt-get install nodejs -y EXPOSE 19080 19000 80 443 WORKDIR /home/ClusterDeployer CMD ["./ClusterDeployer.sh"]
提示
根據預設,這會提取包含最新版 Service Fabric 的映像。 如需特定版本,請造訪 Docker Hub 頁面。
若要從
Dockerfile
建置可重複使用的映像,請開啟終端機並cd
到直接保留的Dockerfile
,然後執行:docker build -t mysfcluster .
注意
這項作業需要一些時間,但只需要執行一次。
您現在可以在需要時快速啟動 Service Fabric 的本機複本,方法是執行以下項目:
docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mysfcluster
提示
為容器執行個體提供名稱,以便能以更容易辨識的方式來處理。
如果您的應用程式正在特定連接埠上接聽,這些連接埠就必須使用額外的
-p
標籤來加以指定。 例如,如果您的應用程式正在連接埠 8080 上接聽,請新增下列-p
標籤:docker run -itd -p 19000:19000 -p 19080:19080 -p 8080:8080 --name sfonebox mcr.microsoft.com/service-fabric/onebox:u18
叢集會在短時間內啟動,您可使用下列命令來檢視記錄,或跳至儀表板來檢視叢集健康狀態
http://localhost:19080
:docker logs sftestcluster
成功部署叢集之後,如步驟4所觀察到的一樣,您可以從 Windows 電腦移
http://localhost:19080
至,以尋找 Service Fabric Explorer 儀表板。 此時,您可以使用 Windows 開發人員電腦上的任何工具連線到這個叢集,並部署以 Linux Service Fabric 叢集為目標的應用程式。注意
Windows 上目前不支援 Eclipse 外掛程式。
當您完成時,請使用此命令來停止和清除容器:
docker rm -f sftestcluster
已知限制
在 Mac 的容器中執行的本機叢集已知有下列限制:
- DNS 服務不會執行,且目前在容器中不受支援。 問題 #132
- 要執行容器型應用程式,必須在 Linux 主機上執行 SF。 目前不支援巢狀容器應用程式。