Konfigurera ett Linux Service Fabric-kluster på windows-utvecklardatorn
Det här dokumentet beskriver hur du konfigurerar ett lokalt Linux Service Fabric-kluster på en Windows-utvecklingsdator. Det är användbart att konfigurera ett lokalt Linux-kluster för att snabbt testa program som är avsedda för Linux-kluster, men som har utvecklats på en Windows-dator.
Förutsättningar
Linux-baserade Service Fabric-kluster körs inte i Windows, men för att aktivera plattformsoberoende prototyper har vi tillhandahållit en Docker-container för Linux Service Fabric one box-kluster, som kan distribueras via Docker för Windows.
Innan du börjar behöver du:
- Minst 4 GB RAM-minne
- Senaste versionen av Docker för Windows
- Docker måste köras i Linux-containerläge
Dricks
Om du vill installera Docker på din Windows-dator följer du stegen i Docker-dokumentationen. Verifiera installationen när du är färdig.
Skapa en lokal container och konfigurera Service Fabric
Om du vill konfigurera en lokal Docker-container och ha ett Service Fabric-kluster som körs på den kör du följande steg:
Uppdatera konfigurationen av Docker-daemon på värden enligt följande och starta om Docker-daemon:
{ "ipv6": true, "fixed-cidr-v6": "2001:db8:1::/64" }
Det rekommenderade sättet att uppdatera är att gå till:
- Docker-ikoninställningar > > Docker-motor
- Lägg till de nya fälten som anges ovan
- Använd &starta om – starta om Docker-daemon för att ändringarna ska börja gälla.
Starta klustret via 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
Dricks
Som standard hämtas avbildningen med den senaste Service Fabric-versionen. Särskilda revisioner finns på sidan Service Fabric Onebox på Docker Hub.
Valfritt: Skapa din utökade Service Fabric-avbildning.
I en ny katalog skapar du en fil med namnet
Dockerfile
för att skapa din anpassade avbildning:Kommentar
Du kan anpassa avbildningen ovan med en Dockerfile för att lägga till ytterligare program eller beroenden i containern. Om du t.ex. lägger till
RUN apt-get install nodejs -y
tillåter du stöd förnodejs
-program som körbara gästfiler.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"]
Dricks
Som standard hämtas avbildningen med den senaste Service Fabric-versionen. Läs mer om vissa revideringar på sidan Docker-hubb.
Om du vill skapa en återanvändbar avbildning från
Dockerfile
öppnar du en terminal ochcd
till den som hållerDockerfile
din körning direkt:docker build -t mysfcluster .
Kommentar
Den här åtgärden kan ta lite tid, men det behöver bara göras en gång.
Nu kan du snabbt starta en lokal kopia av Service Fabric när du behöver den genom att köra:
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
Dricks
Ange ett namn för din containerinstans så att du kan hantera den enklare.
Om programmet lyssnar på vissa portar måste du ange portarna med hjälp av ytterligare
-p
-taggar. Om programmet till exempel lyssnar på port 8080 lägger du till följande-p
-tagg:docker run -itd -p 19000:19000 -p 19080:19080 -p 8080:8080 --name sfonebox mcr.microsoft.com/service-fabric/onebox:u18
Det tar en liten stund för klustret att starta. Du kan se loggar med följande kommando eller gå till instrumentpanelen och visa klusterhälsotillståndet
http://localhost:19080
:docker logs sftestcluster
När klustret har distribuerats enligt vad som observerats i steg 4 kan du gå till
http://localhost:19080
från Windows-datorn för att hitta Instrumentpanelen för Service Fabric Explorer. Nu kan du ansluta till det här klustret med hjälp av verktyg från din Windows-utvecklardator och distribuera program som är avsedda för Linux Service Fabric-kluster.Kommentar
Eclipse-pluginprogrammet stöds för närvarande inte av Windows.
När du är klar stoppar och rensar du containern med det här kommandot:
docker rm -f sftestcluster
Kända begränsningar
Följande begränsningar är kända begränsningar i lokala kluster som körs i en container för Mac:
- DNS-tjänsten körs inte och stöds för närvarande inte i containern. Problem #132
- Om du kör containerbaserade appar måste du köra SF på en Linux-värd. Kapslade containerprogram stöds för närvarande inte.