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:

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:

  1. 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.

  2. 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:u18
    

    Ubuntu 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:u16
    

    Tips

    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.

  3. Valfritt: Skapa din utökade Service Fabric avbildning.

    I en ny katalog skapar du en fil med namnet för Dockerfile att 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 -y tillåter du stöd för nodejs-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 Dockerfile håller din och kör cd Dockerfile sedan:

    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 mysfcluster
    

    Tips

    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

  4. 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
    
  5. 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 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.

  1. 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:

  1. 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 -v
    
  2. Installera Yeoman-mallgeneratorn på datorn från NPM:

    npm install -g yo
    
  3. 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
    
  4. När du har installerat generatorerna skapar du körbara gästprogram eller containertjänster genom att köra yo azuresfguest respektive yo azuresfcontainer.

  5. 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. 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:

  1. Anslut till Service Fabric-klustret som körs i containerinstansen på din Mac:

    sfctl cluster select --endpoint http://localhost:19080
    
  2. 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. 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