Docker

Distribuer FoxIDs i Docker Desktop på en dev eller test maskin.

Dette er en beskrivelse av hvordan du gjør en standard distribusjon og logger inn første gang.

En FoxIDs installasjon er selvstendig, har få eksterne dependencies og kan oppnå svært høy oppetid med liten innsats. FoxIDs oppdateres ved å oppdatere de to Docker image www.foxids.com/foxids:x.x.x og www.foxids.com/foxidscontrol:x.x.x til en ny versjon. Nye FoxIDs utgivelser er backward compatible. Se release notes før oppdatering. Du finner også gjeldende Docker image versjon der.

En gyldig lisens kreves for å få tilgang til FoxIDs utgivelser. Derfra kan du generere en secret for å autentisere mot Docker image registeret på www.foxids.com, som bruker Basic authentication.

Forutsetninger:

  • Du har Docker Desktop installert.
  • Du har grunnleggende kunnskap om Docker.

Dette er en liste med nyttige kommandoer på slutten av denne beskrivelsen.

Denne distribusjonen inkluderer:

  • To nettsteder, ett for FoxIDs og ett for FoxIDs Control (the admin Client og API) i to Docker image www.foxids.com/foxids:x.x.x og www.foxids.com/foxidscontrol:x.x.x.
  • De to nettstedene er eksponert på to forskjellige porter.
  • MongoDB er en NoSQL database og inneholder alle data inkludert tenants, miljøer og brukere. Distribuert med den offisielle MongoDB Docker image.
  • Redis cache holder sekvenser (f.eks. innlogging og utlogging), datacache for å forbedre ytelsen og tellerne for å sikre autentisering mot ulike angrep. Distribuert med den offisielle Redis Docker image.
  • Logger skrives til stdout der loggene kan plukkes opp av Docker.

Valgfritt bruk PostgreSQL i stedet for MongoDB og valgfritt velg bort Redis og lagre cache data i databasen (MongoDB eller PostgreSQL). Uten en Redis cache må du velge None som data cache.

Distribusjon

Distribusjonen utføres i den beskrevne rekkefølgen.

Gjør klar

Last ned Docker yaml konfigurasjonsfiler her og plasser dem i en mappe på maskinen din, for eksempel C:\FoxIDs\Docker.

Åpne en konsoll og naviger til mappen Docker.

Volum

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

Som standard oppretter og administrerer Docker Compose volumet for deg.

Hvis du vil lagre MongoDB-data på Windows-vertens filsystem, oppretter du først vertsmappen, for eksempel C:\data\foxids-data, og deretter et eksternt Docker-volum:

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

Fjern deretter kommentaren fra external: true under volumes: foxids-data: i docker-compose-image.yaml, slik at Docker Compose bruker det eksterne volumet.

Distribuer containere

De to FoxIDs nettstedene er konfigurert med Docker image. Og valgfritt konfigurert til å bruke enten bare HTTP eller både HTTP/HTTPS med et utviklingssertifikat. De offisielle MongoDB og Redis image hentes fra Docker Hub.

Pull secret og Docker setup Sett brukernavnet til kunde-ID-en din og passordet til pull secreten din for FoxIDs Docker registeret, og autentiser deretter Docker.

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

Oppdater 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

Velg versjonen fra FoxIDs utgivelser, og hent deretter image:

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

E-postleverandør Du kan valgfritt konfigurere en global e-postleverandør eller senere konfigurere e-postleverandører per miljø. FoxIDs støtter sending av e-post med SendGrid og SMTP.

Den globale e-postleverandøren konfigureres i docker-compose-image.yaml filen på foxids tjenesten i environment: seksjonen. Dette eksempelet viser hvordan du legger til 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

Distribuer Opprett distribusjonen med Docker image og HTTP:

  1. Basert på Docker image og med HTTP
docker compose -f docker-compose-image.yaml -f docker-compose.development-http.yaml up -d
  1. Basert på Docker image og med HTTP/HTTPS - krever et eksportert utviklingssertifikat.

HTTPS compose-filen mapper %APPDATA%\ASP.NET\Https på Windows-verten til /home/app/.aspnet/https i containerne og konfigurerer Kestrel til å laste dev_cert.pfx. Opprett mappen og eksporter .NET-utviklingssertifikatet før distribusjonen 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"

Passordet må samsvare med 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 innlogging

Åpne FoxIDs Control nettstedet ditt (http://localhost:8801 eller https://localhost:8401) i en nettleser. Det bør omdirigere til FoxIDs nettstedet der du logger inn med standard admin bruker admin@foxids.com og passord FirstAccess! (du må endre passord ved første innlogging). Du blir deretter omdirigert tilbake til FoxIDs Control nettstedet i master tenant. Du kan legge til flere admin brukere i master tenant.

Klikk deretter på main tenant og autentiser igjen med samme standard admin bruker admin@foxids.com og passord FirstAccess! (igjen, du må endre passordet).

Standard admin bruker og passord er det samme for både master tenant og main tenant, men det er to forskjellige brukere.

Du er nå logget inn i main tenant og kan begynne å konfigurere applikasjoner og autentiseringsmetoder.

Nyttige kommandoer

Dette er en liste med kommandoer som kan være nyttige under distribusjon for å se detaljer og gjøre endringer i distribusjonen.

Steng distribusjonen

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

Stopp container

docker stop xxx

Fjern container

docker rm xxx

Fjern image

docker rmi xxx

List volumer

docker volume ls

Fjern volum

docker volume rm xxx

Fjern alle ubrukte volumer

docker volume prune

Vis logger i container

docker logs xxx
Ditt personvern

Ditt personvern

Vi bruker cookies for å gjøre opplevelsen av nettstedene våre bedre. Klikk på 'Godta alle cookies' for å samtykke til bruk av cookies. For å reservere deg mot ikke-nødvendige cookies, klikk på 'Kun nødvendige cookies'.

Besøk vår personvernerklæring for mer