Share via


在 Windows 開發人員電腦上設定 Linux Service Fabric 叢集

本文件涵蓋如何在 Windows 開發電腦上設定本機 Linux Service Fabric 叢集。 設定本機 Linux 叢集,對快速測試以 Linux 叢集為目標但在 Windows 電腦上開發的應用程式而言,會很有用。

必要條件

以 linux 為基礎的 Service Fabric 叢集不會在 Windows 上執行,但為了啟用跨平臺原型設計,我們提供了 Linux Service Fabric 一個 box 叢集 docker 容器,可透過適用於 Windows 的 Docker 進行部署。

在開始之前,您必須:

提示

若要在 Windows 電腦上安裝 Docker,請遵循 Docker 文件中的步驟。 在安裝之後,請確認您的安裝

建立本機容器並設定 Service Fabric

若要設定本機的 Docker 容器,並在容器上執行 Service Fabric 叢集,請執行下列步驟:

  1. 使用下列內容更新您主機上的 Docker 精靈設定,然後重新啟動 Docker 精靈:

    {
      "ipv6": true,
      "fixed-cidr-v6": "2001:db8:1::/64"
    }
    

    建議的更新方法是前往:

    • Docker 引擎設定 > Docker 圖示 >
    • 新增上面所列的新欄位
    • 套用並重新啟動 - 重新啟動 Docker 精靈以讓變更生效。
  2. 透過 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 頁面。

  3. 選擇性:建置您的擴充 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

  4. 叢集會在短時間內啟動,您可使用下列命令來檢視記錄,或跳至儀表板來檢視叢集健康狀態 http://localhost:19080

    docker logs sftestcluster
    
  5. 成功部署叢集之後,如步驟4所觀察到的一樣,您可以從 Windows 電腦移 http://localhost:19080 至,以尋找 Service Fabric Explorer 儀表板。 此時,您可以使用 Windows 開發人員電腦上的任何工具連線到這個叢集,並部署以 Linux Service Fabric 叢集為目標的應用程式。

    注意

    Windows 上目前不支援 Eclipse 外掛程式。

  6. 當您完成時,請使用此命令來停止和清除容器:

    docker rm -f sftestcluster
    

已知限制

在 Mac 的容器中執行的本機叢集已知有下列限制:

  • DNS 服務不會執行,且目前在容器中不受支援。 問題 #132
  • 要執行容器型應用程式,必須在 Linux 主機上執行 SF。 目前不支援巢狀容器應用程式。

下一步