Docker

Deploy FoxIDs i Docker Desktop på en dev eller test maskine.

Dette er en beskrivelse af hvordan du laver en standard deployment og logger ind første gang.

En FoxIDs installation er selvstændig, har få eksterne dependencies og kan opnå meget høj oppetid med lille indsats. FoxIDs opdateres ved at opdatere de to Docker images www.foxids.com/foxids:x.x.x og www.foxids.com/foxidscontrol:x.x.x til en ny version. Nye FoxIDs releases er backward compatible. Gennemgå release notes før du opdaterer. Du kan også finde den aktuelle Docker image version der.

En gyldig licens kræves for at få adgang til FoxIDs releases. Herfra kan du generere en secret til at autentificere mod Docker image registriet på www.foxids.com, som bruger Basic authentication.

Forudsætninger:

  • Du har Docker Desktop installeret.
  • Du har grundlæggende viden om Docker.

Dette er en liste over nyttige kommandoer i slutningen af denne beskrivelse.

Denne deployment omfatter:

  • To websites en til FoxIDs og en til FoxIDs Control (the admin Client og API) i to Docker images www.foxids.com/foxids:x.x.x og www.foxids.com/foxidscontrol:x.x.x.
  • De to websites eksponeres på to forskellige porte.
  • MongoDB er en NoSQL database og indeholder alle data inklusiv tenants, miljøer og brugere. Deployet med det officielle MongoDB Docker image.
  • Redis cache holder sekvenser (fx login og logout), data cache for at forbedre performance og tællere til at sikre autentifikation mod forskellige angreb. Deployet med det officielle Redis Docker image.
  • Logs skrives til stdout hvor Docker kan opsamle dem.

Brug valgfrit PostgreSQL i stedet for MongoDB og valgfrit ingen Redis og gem cache data i databasen (MongoDB eller PostgreSQL). Uden Redis cache skal du vælge None som data cache.

Deployment

Deploymenten udføres i den beskrevne rækkefølge.

Gør klar

Download Docker yaml konfigurationsfiler her og placer dem i en mappe på din maskine, f.eks. C:\FoxIDs\Docker.

Åbn en konsol og naviger til mappen Docker.

Volume

docker-compose-image.yaml definerer et MongoDB volume med navnet foxids-data.

Som standard opretter og administrerer Docker Compose volumet for dig.

Hvis du vil gemme MongoDB-data på dit Windows host file system, skal du først oprette host-mappen, f.eks. C:\data\foxids-data, og derefter oprette et eksternt Docker volume:

docker volume create --driver local --opt type=none --opt device=C:\data\foxids-data --opt o=bind foxids-data

Fjern derefter kommentaren fra external: true under volumes: foxids-data: i docker-compose-image.yaml, så Docker Compose bruger det eksterne volume.

Deploy containere

De to FoxIDs websites konfigureres med Docker images. Og valgfrit konfigureret til kun at bruge HTTP eller både HTTP/HTTPS med et development certifikat. De officielle MongoDB og Redis images hentes fra Docker Hub.

Pull secret og Docker setup Sæt brugernavnet til dit kunde-ID og adgangskoden til din pull secret for FoxIDs Docker registriet, og autentificer derefter Docker.

docker login www.foxids.com --username <customer-id> --password <pull-secret>

Opdater C:\src\GitHub\FoxIDs.Assets\Docker\docker-compose-image.yaml:

services:
  foxids:
    image: www.foxids.com/foxids:x.x.x
  foxids-control:
    image: www.foxids.com/foxidscontrol:x.x.x

Vælg versionen fra FoxIDs releases, og hent derefter images:

docker compose -f docker-compose-image.yaml pull

Email provider Du kan valgfrit konfigurere en global email provider eller senere konfigurere email providers per miljø. FoxIDs understøtter at sende e-mails med SendGrid og SMTP. Du kan også konfigurere SMS-udbydere globalt eller per miljø.

Den globale email provider konfigureres i docker-compose-image.yaml filen på foxids servicen i environment: sektionen. Dette eksempel viser hvordan du tilføjer Outlook / Microsoft 365 med SMTP:

- Settings:Smtp:FromEmail=my@email-address.org
- Settings:Smtp:FromName=e.g., my company name
- Settings:Smtp:Host=smtp.office365.com
- Settings:Smtp:Port=587
- Settings:Smtp:Username=my@email-address.com
- Settings:Smtp:Password=xxxxxxx

Deploy Opret deploymenten med Docker images og HTTP:

  1. Baseret på Docker images og med HTTP
docker compose -f docker-compose-image.yaml -f docker-compose.development-http.yaml up -d
  1. Baseret på Docker images og med HTTP/HTTPS - kræver et eksporteret development certifikat.

HTTPS compose-filen mapper %APPDATA%\ASP.NET\Https på Windows hosten til /home/app/.aspnet/https i containerne og konfigurerer Kestrel til at indlæse dev_cert.pfx. Opret mappen og eksporter .NET development certifikatet, før deploymenten startes:

if not exist "%APPDATA%\ASP.NET\Https" mkdir "%APPDATA%\ASP.NET\Https"
dotnet dev-certs https --trust
dotnet dev-certs https --export-path "%APPDATA%\ASP.NET\Https\dev_cert.pfx" -p "foxids-dev-cert"

Adgangskoden skal matche ASPNETCORE_Kestrel__Certificates__Default__Password i docker-compose.development-https.yaml.

docker compose -f docker-compose-image.yaml -f docker-compose.development-https.yaml up -d

Første login

Åbn dit FoxIDs Control site (http://localhost:8801 eller https://localhost:8401) i en browser. Det bør videresende til FoxIDs site hvor du logger ind med standard admin brugeren admin@foxids.com og adgangskoden FirstAccess! (du skal ændre adgangskoden ved første login). Du bliver derefter videresendt tilbage til FoxIDs Control site i master tenant. Du kan tilføje flere admin brugere i master tenant.

Klik derefter på main tenant og autentificér igen med samme standard admin bruger admin@foxids.com og adgangskoden FirstAccess! (igen, du skal ændre adgangskoden).

Standard admin bruger og adgangskode er den samme for både master tenant og main tenant, men det er to forskellige brugere.

Du er nu logget ind på main tenant og kan begynde at konfigurere dine applikationer og autentifikationsmetoder.

Nyttige kommandoer

Dette er en liste over kommandoer som kan være nyttige under deployment for at se detaljer og lave deployment ændringer.

Nedtag deployment

docker compose -f docker-compose-image.yaml -f docker-compose.development-http.yaml down
# eller
docker compose -f docker-compose-image.yaml -f docker-compose.development-https.yaml down

Stop container

docker stop xxx

Fjern container

docker rm xxx

Fjern image

docker rmi xxx

List volumes

docker volume ls

Fjern volume

docker volume rm xxx

Fjern alle ubrugte volumes

docker volume prune

Vis logs i container

docker logs xxx
Dit privatliv

Dit privatliv

Vi bruger cookies til at gøre din oplevelse på vores websites bedre. Klik på 'Acceptér alle cookies' for at acceptere brugen af cookies. For at fravælge ikke-nødvendige cookies, klik på 'Kun nødvendige cookies'.

Besøg vores privatlivspolitik for mere