Konfigurera utvecklingsmiljön på macOS X
Du kan skapa Azure Service Fabric-program för att köras på Linux-kluster med hjälp av macOS X. Det här dokumentet beskriver hur du konfigurerar din Mac för utveckling.
Förutsättningar
Azure Service Fabric körs inte internt på macOS X. För att köra ett lokalt Service Fabric-kluster tillhandahålls en förkonfigurerad Docker-containeravbildning. Innan du kommer igång behöver du:
Systemkraven för att installera Docker Desktop på Mac
Så här installerar och kör du Docker Desktop på Mac
Dricks
Följ anvisningarna i Docker-dokumentationen när du ska installera Docker på din Mac. Efter installationen kan du använda Docker Desktop för att ange inställningar, inklusive resursbegränsningar 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.
Kommentar
Du rekommenderar att du ändrar daemonen direkt i Docker eftersom platsen för daemon.json-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.
Dricks
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.
Senaste:
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:latest
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 katalogen där duDockerfile
kör: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 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:19080
docker logs sftestcluster
Om 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 kör containerbaserade appar måste du köra SF på en Linux-värd. Kapslade containerprogram stöds för närvarande inte.
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 Upravljač za pakete måste vara installerade på mac-datorn. Du kan installera programvaran med hjälp av HomeBrew enligt följande:
brew install node node -v npm -v
Installera Yeoman-mallgeneratorn på datorn från Node Upravljač za pakete:
npm install -g yo
Installera 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 Applications
När du har installerat generatorerna skapar du körbara gästprogram eller containertjänster genom att köra
yo azuresfguest
respektiveyo 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 gradle
Viktigt!
Aktuella versioner av
brew cask install java
kan installera en nyare version av JDK: et. 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:19080
Gå 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. Till 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.
Kommentar
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 första Service Fabric Java-program i Linux med Service Fabric-plugin-programmet 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