Konfigurera din utvecklingsmiljö i Mac OS X
Du kan skapa Azure Service Fabric-program som körs i Linux-kluster i Mac OS X. Det här dokumentet visar hur du konfigurerar din utvecklingsmiljö i Mac.
Förutsättningar
Azure Service Fabric kan inte köras internt i Mac OS X. För att du ska kunna köra ett lokalt Service Fabric-kluster tillhandahåller vi en förkonfigurerad Docker-containeravbildning. Innan du börjar behöver du:
Systemkraven för att installera Docker Desktop på Mac
Installera och köra Docker Desktop på Mac
Tips
Följ anvisningarna i Docker-dokumentationen när du ska installera Docker på din Mac. När du har installerat kan du använda Docker Desktop för att ange inställningar, inklusive resursgränser och diskanvändning.
Skapa en lokal container och konfigurera Service Fabric
Utför följande steg för att konfigurera en lokal Docker-container och köra ett Service Fabric-kluster på den:
Uppdatera konfigurationen av Docker-daemon på värden med följande inställningar och starta om Docker-daemon:
{ "ipv6": true, "fixed-cidr-v6": "fd00::/64" }Du kan uppdatera inställningarna direkt i filen daemon.json som finns på Docker-installationssökvägen. Du kan ändra konfigurationsinställningarna för daemon direkt i Docker. Välj Docker-ikonen och sedan Inställningar > Daemon > Avancerat.
Anteckning
Vi rekommenderar att du ändrar daemon direkt i Docker eftersom platsen för daemon.jspå filen kan variera från dator till dator. Den kan till exempel vara ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json.
Tips
Vi rekommenderar att öka du ökar de resurser som Docker tilldelas vid testning av stora program. Detta kan du göra genom att först välja Docker-ikonen och sedan välja Avancerat för att justera antalet kärnor och minne.
Starta klustret.
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:u18Ubuntu 16.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:u16Tips
Som standard hämtas avbildningen med den senaste Service Fabric-versionen. För specifika revisioner går du till Service Fabric Onebox-sidan på Docker Hub.
Valfritt: Skapa din utökade Service Fabric avbildning.
I en ny katalog skapar du en fil med namnet för
Dockerfileatt skapa din anpassade avbildning:Anteckning
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 -ytillå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"]Tips
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 den återanvändbara avbildningen från öppnar du en terminal och till den som direkt
Dockerfilehåller din och körcdDockerfilesedan:docker build -t mysfcluster .Anteckning
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 mysfclusterTips
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:u18Det tar en stund att starta klustret. När den körs kan du visa loggar med hjälp av följande kommando eller gå till instrumentpanelen för att visa klustrets hälsa:
http://localhost:19080docker logs sftestclusterOm du vill stoppa och rensa containern använder du följande kommando. Vi kommer dock att använda den här containern i nästa steg.
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 vill köra containerbaserade appar måste du köra SF på en Linux-värd. Kapslade containerappar stöds inte för närvarande.
Konfigurera Service Fabric CLI (sfctl) på Mac
Följ anvisningarna på Service Fabric CLI för att installera Service Fabric CLI (sfctl) på en Mac-dator.
Med CLI-kommandona kan du interagera med Service Fabric-entiteter som kluster, program och tjänster.
- Om du vill ansluta till klustret innan du distribuerar programmen kör du kommandot nedan.
sfctl cluster select --endpoint http://localhost:19080
Skapa ditt program på Mac med Yeoman
Service Fabric har ramverktyg som hjälper dig att skapa ett Service Fabric-program från terminalen med en Yeoman-mallgenerator. Följ stegen nedan för att se till att Service Fabric Yeoman-mallgeneratorn fungerar i datorn:
Node.js och Node Package Manager (NPM) måste vara installerade på din Mac. Du kan installera programvaran med hjälp av HomeBrew enligt följande:
brew install node node -v npm -vInstallera Yeoman-mallgeneratorn på datorn från NPM:
npm install -g yoInstallera den Yeoman-generator du vill använda enligt instruktionerna i dokumentationen för att komma igång. Gör så här om du vill skapa Service Fabric-program med hjälp av Yeoman:
npm install -g generator-azuresfjava # for Service Fabric Java Applications npm install -g generator-azuresfguest # for Service Fabric Guest executables npm install -g generator-azuresfcontainer # for Service Fabric Container ApplicationsNär du har installerat generatorerna skapar du körbara gästprogram eller containertjänster genom att köra
yo azuresfguestrespektiveyo azuresfcontainer.Om du vill skapa ett Service Fabric Java-program på Mac så måste du ha JDK 1.8 och Gradle installerade på värddatorn. Du kan installera programvaran med hjälp av HomeBrew enligt följande:
brew update brew cask install java brew install gradleViktigt
Aktuella versioner av
brew cask install javakan installera en nyare version av JDK. Se till att installera JDK 8.
Distribuera ditt program på Mac från terminalen
När du har skapat ett Service Fabric-program så kan du distribuera det med CLI:t för Service Fabric:
Anslut till Service Fabric-klustret som körs i containerinstansen på din Mac:
sfctl cluster select --endpoint http://localhost:19080Gå till projektkatalogen och kör installationsskriptet:
cd MyProject bash install.sh
Konfigurera .NET Core 3.1-utveckling
Installera .NET Core 3.1 SDK för Mac för att börja skapa C# Service Fabric program. Paket för .NET Core Service Fabric program finns på NuGet.org.
Installera plugin-programmet för Service Fabric till Eclipse på din Mac
Azure Service Fabric har ett plugin-program för Eclipse Neon (eller senare) för Java IDE. Med det här plugin-programmet blir det enklare att skapa och distribuera Java-tjänster. Gör så här om du vill installera eller uppdatera Service Fabric plugin-programmet för Eclipse till den senaste versionen. De andra stegen i Service Fabric för Eclipse-dokumentationen är också relevanta: skapa ett program, lägga till en tjänst i ett program, avinstallera ett program och så vidare.
Det sista steget är att skapa en instans av containern med en sökväg som delas med värden. Den här typen av instansiering krävs för att plugin-programmet ska fungera med Docker-containern på din Mac. Exempel:
docker run -itd -p 19080:19080 -v /Users/sayantan/work/workspaces/mySFWorkspace:/tmp/mySFWorkspace --name sfonebox mcr.microsoft.com/service-fabric/onebox:latest
Attributen har följande definitioner:
/Users/sayantan/work/workspaces/mySFWorkspaceär den fullständiga sökvägen till arbetsytan på din Mac./tmp/mySFWorkspaceär sökvägen inuti containern som arbetsytan ska mappas till.
Anteckning
Om du har ett annat namn/en annan sökväg för din arbetsyta uppdaterar du de här värdena i docker run-kommandot.
Om du startar containern med ett annat namn än sfonebox så bör du uppdatera namnvärdet i filen testclient.sh i Java-programmet som är Service Fabric-aktör.
Nästa steg
- Skapa och distribuera ditt första Service Fabric-program med Java i Linux med hjälp av Yeoman
- Skapa och distribuera ditt Service Fabric Java-program i Linux med Service Fabric plugin-program för Eclipse
- Skapa ett Service Fabric-kluster i Azure-portalen
- Skapa ett Service Fabric-kluster med Azure Resource Manager
- Förstå Service Fabric-programmodellen
- Använd Service Fabric CLI för att hantera dina program
- Förbereda en Linux-utvecklingsmiljö i Windows