Docker

Wdróż FoxIDs w Docker Desktop na maszynie deweloperskiej lub testowej.

To opis sposobu wykonania domyślnego wdrożenia i pierwszego logowania.

Instalacja FoxIDs jest jak wiadro: brak zależności zewnętrznych i łatwo osiągnąć bardzo wysoką dostępność przy niewielkim wysiłku. FoxIDs aktualizuje się przez aktualizację dwóch obrazów Docker www.foxids.com/foxids:x.x.x i www.foxids.com/foxidscontrol:x.x.x na nową wersję. Nowe wydania FoxIDs są backward compatible. Przed aktualizacją sprawdź informacje o wydaniu. Znajdziesz tam również aktualną wersję obrazu Docker.

Do uzyskania dostępu do wydań FoxIDs wymagana jest ważna licencja. Stamtąd możesz wygenerować secret do uwierzytelniania w rejestrze obrazów Docker pod adresem www.foxids.com, który używa uwierzytelniania Basic.

Wymagania wstępne:

  • Masz zainstalowany Docker Desktop.
  • Masz podstawową wiedzę o Docker.

Na końcu tego opisu znajduje się lista przydatnych poleceń.

To wdrożenie obejmuje:

  • Dwie witryny: jedna dla FoxIDs i jedna dla FoxIDs Control (the admin Client i API) w dwóch obrazach Docker www.foxids.com/foxids:x.x.x i www.foxids.com/foxidscontrol:x.x.x.
  • Dwie witryny są wystawione na dwóch różnych portach.
  • MongoDB to baza NoSQL zawierająca wszystkie dane, w tym tenantów, środowiska i użytkowników. Wdrażana z oficjalnego obrazu MongoDB.
  • Redis cache przechowuje sekwencje (np. logowanie i wylogowanie), cache danych dla poprawy wydajności oraz liczniki chroniące przed atakami. Wdrażany z oficjalnego obrazu Redis.
  • Logi są zapisywane do stdout, skąd mogą być zbierane przez Docker.

Opcjonalnie użyj PostgreSql zamiast MongoDB i opcjonalnie zrezygnuj z Redis oraz zapisuj dane cache w bazie (MongoDB lub PostgreSql). Bez Redis ustaw None jako data cache.

Wdrożenie

Wdrożenie jest wykonywane w opisanej kolejności.

Przygotowanie

Pobierz pliki konfiguracyjne Docker yaml tutaj i umieść je w folderze na swoim komputerze, np. C:\FoxIDs\Docker.

Otwórz konsolę i przejdź do folderu Docker.

Wolumen

Potrzebujesz wolumenu dla MongoDB o nazwie foxids-data, gdzie będą zapisywane dane.

Utwórz volume dla MongoDB na hoście Windows, np. w folderze C:\data\foxids-data. Ważne: utwórz foldery przed uruchomieniem polecenia.

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

LUB utwórz volume dla MongoDB zarządzany przez Docker.

docker volume create foxids-data

Wdrożenie kontenerów

Dwie witryny FoxIDs są skonfigurowane do korzystania z obrazów Docker. Opcjonalnie skonfigurowane do użycia tylko HTTP albo HTTP/HTTPS z certyfikatem deweloperskim.
Oficjalne obrazy MongoDB i Redis są pobierane z Docker Hub.

Pull secret i setup Docker
Ustaw nazwę użytkownika na identyfikator klienta, a hasło na pull secret dla rejestru Docker FoxIDs, a następnie uwierzytelnij Docker.

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

Zaktualizuj 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

Wybierz wersję z wydań FoxIDs, a następnie pobierz obrazy:

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

Dostawca e-mail
Możesz opcjonalnie skonfigurować globalnego dostawcę e-maili lub później skonfigurować dostawców e-maili dla każdego środowiska. FoxIDs obsługuje wysyłanie e-maili przez SendGrid i SMTP.

Globalny dostawca e-maili jest konfigurowany w pliku docker-compose-image.yaml w usłudze foxids w sekcji environment:.
Poniższy przykład pokazuje konfigurację Outlook / Microsoft 365 przez SMTP:

- name: "Settings__Smtp__FromEmail"
    value: "my@email-address.org"
- name: "Settings__Smtp__FromName" # Opcjonalna nazwa nadawcy powiązana z adresem e-mail
    value: "e.g, my company name"
- name: "Settings__Smtp__Host"
    value: "smtp.office365.com"
- name: "Settings__Smtp__Port"
    value: "587"
- name: "Settings__Smtp__Username"
    value: "my@email-address.com"
- name: "Settings__Smtp__Password"
    value: "xxxxxxx"

Wdrożenie
Utwórz wdrożenie na obrazach Docker i z HTTP:

  1. Na obrazach Docker i z HTTP
docker-compose -f docker-compose-image.yaml -f docker-compose.development-http.yaml up -d
  1. Na obrazach Docker i z HTTP/HTTPS - wymaga obecności certyfikatu deweloperskiego.
docker-compose -f docker-compose-image.yaml -f docker-compose.development-https.yaml up -d

Pierwsze logowanie

Otwórz witrynę FoxIDs Control (http://localhost:8801 lub https://localhost:8401) w przeglądarce. Powinna przekierować do witryny FoxIDs, gdzie zalogujesz się domyślnym użytkownikiem admin admin@foxids.com i hasłem FirstAccess! (podczas pierwszego logowania musisz zmienić hasło).
Następnie zostaniesz przekierowany z powrotem do witryny FoxIDs Control w tenancie master. Możesz dodać więcej adminów w tenancie master.

Następnie kliknij tenant main i uwierzytelnij się ponownie tym samym domyślnym użytkownikiem admin admin@foxids.com i hasłem FirstAccess! (ponownie wymagane jest ustawienie nowego hasła).

Domyślny użytkownik admin i hasło są takie same dla tenanta master i tenanta main, ale to dwaj różni użytkownicy.

Jesteś teraz zalogowany w tenancie main i możesz rozpocząć konfigurację aplikacji i metod uwierzytelniania.

Przydatne polecenia

To lista poleceń, które mogą być przydatne podczas wdrożenia do podglądu szczegółów i wprowadzania zmian.

Usuń wdrożenie

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

Zatrzymaj kontener

docker stop xxx

Usuń kontener

docker rm xxx

Usuń obraz

docker rmi xxx

Lista wolumenów

docker volume ls

Usuń wolumen

docker volume rm xxx

Usuń wszystkie nieużywane wolumeny

docker volume prune

Pokaż logi w kontenerze

Docker logs xxx

Twoja prywatność

Używamy plików cookie, aby poprawić korzystanie z naszych stron internetowych. Kliknij przycisk „Akceptuj wszystkie pliki cookie”, aby wyrazić zgodę na ich użycie. Aby zrezygnować z nieistotnych plików cookie, kliknij „Tylko niezbędne pliki cookie”.

Odwiedź naszą politykę prywatności, aby dowiedzieć się więcej