Container-Cluster über mehrere Docker-Hosts
Das Tool Docker Swarm Visualizer gestattet eine Übersicht der laufenden Services und Hosts.
Lizenz: Apache
GitHub
Verfügbare Container:
docker swarm init [OPTIONS]
Nach erfolgreicher Erstellung werden der Token und Befehl zum Hinzufügen angezeigt.
docker swarm join [OPTIONS] HOST:PORT
| -- token TOKEN | Zugriffstoken zur Authentifizierung beim Manager |
docker swarm leave [OPTIONS]
| --force / -f | Erzwingt das Verlassung und ignoriert Warnungen
|
docker swarm join-token [OPTIONS] (worker|manager)
docker swarm Update [OPTIONS]
docker service create [OPTIONS] IMAGE [COMMAND] [ARG...]
| --name | Name für den Service |
| --network | Verwendetes Netzwerk |
| --publish, -p | Veröffentlicht den Port |
| --replicas | Zahl der gleichzeitig laufenden Instanzen |
| --config | Zuordnung einer Konfiguration (API 1.3+) |
| --secret | Zuordnung von Zugangsdaten (API 1.25+) |
docker service rm SERVICE
docker service ls [OPTIONS]
docker service inspect [OPTIONS] SERVICE
docker service scale SERVICE=ANZAHL
docker service logs [OPTIONS] SERVICE
docker service update [OPTIONS] SERVICE
| --config-[add][rm] | 1.30+ | Konfiguration ergänzen / entfernen |
| --network-[add][rm] | 1.29+ | Netzwerk ergänzen / entfernen |
| --secret-[add][rm] | 1.25+ | Zugangsdaten ergänzen / entfernen |
| --publish-[add][rm] | Veröffentlichtung ergänzen / entfernen | |
| --env-[add][rm] | Variable ergänzen / entfernen | |
| --limit-cpu / --limit-memory | Ressourcen ändern |
Zusammenfassung mehrerer Container zu einem Anwendungsstack
| Format / Version | Docker-Version | Hinweise |
|---|---|---|
| 3.5 | 17.12.0+ | Isolation |
| 3.3 | 17.06.0+ | Config / Secrets |
| 3.0
3.1 3.2 |
1.13.0+
1.13.1+ 17.04.0+ |
Empfohlene Version
Erlaubt Verknüpfung mit Docker Swarm |
| 2.1 | 1.12.0+ | Healthcheck |
| 2.0 | 1.10.0+ | Networks, Dependency |
| 1.0 | 1.9.1+ | in zukünftiger Version deprecated / veraltet |
docker stack deploy [OPTIONS] STACK
| --compose-file, -c | Compose-File (API 1.25+) |
| --resolve-image | Fragt das Image von der Registry ab (API 1.30+) |
| --prune | Entfernt nicht mehr verwendete Services (API 1.27) |
docker stack rm STACK
docker stack ls [OPTIONS]
docker stack services [OPTIONS] STACK
Zugangsdaten / Konfiguration nur für verteilte System
docker secret create [OPTIONS] SECRET [file|-]
docker secret ls
docker secret inspect [OPTIONS] SECRET
docker secret rm SECRET
docker config create [OPTIONS] CONFIG [file|-]
docker config ls
docker config inspect [OPTIONS] CONFIG
docker config rm CONFIG
$ curl -sSL https://cli.openfaas.com | sh Brew
$ brew install faas-cli Powershell
$version = (Invoke-WebRequest "https://api.github.com/repos/openfaas/faas-cli/releases/latest"
| ConvertFrom-Json)[0].tag_name
(New-Object System.Net.WebClient).DownloadFile("https://github.com/openfaas/
faas-cli/releases/download/$version/faas-cli.exe", "faas-cli.exe")
faas-cli new [FUNCTION --lang TEMPLATE] [-a YAML-File] [-g URL] [--list]
| -a / --append | fügt die neue Funktion zu bestehende Stack hinzu |
| -g / --gateway | URL OpenFaaS Gateway |
| --list | Anzeige der verfügbaren Templates |
faas-cli build -f YAML-File [--filter FILTER] [--no-cache]
| -f | Dateipfad zur Stack-YAML-Datei |
| --filter | Filter auf bestimmte Funktionen |
| --no-cache | Erstellung ohne Docker-Cache |
faas-cli deploy [-f YAML-File] [--filter FILTER] [--replace] [--update]
| -f | Dateipfad zur Stack-YAML-Datei |
| --filter | Filter auf bestimmte Funktionen |
| --replace | Bestehende Funktion entfernen und neuerstellen |
| --update | Rollierendes Updates durchführen (Default: true) |
| --network | Name des Funktions-Netzwerks (Default: func_functions) |
| --image | Docker-Image |
| --name | Funktions-Name |
| --secret | Docker-Secrets verknüpfen |
faas-cli remove [-f YAML-File] [--filter FILTER]
| -f | Dateipfad zur Stack-YAML-Datei |
| --filter | Filter auf bestimmte Funktionen |
| --gateway | URL OpenFaaS Gateway |
faas-cli push [-f YAML-File] [--filter FILTER] WICHTIG: vorher per Docker LOGIN am Docker-Hub anmelden!
| -f | Dateipfad zur Stack-YAML-Datei |
| --filter | Filter auf bestimmte Funktionen |
faas-cli login -u USER -p PASSWORT --gateway URL
| -u / --username | Benutzername |
| -p / --password | Passwort |
| -g / --gateway | URL für OpenFaaS Gateway |
faas-cli logout --gateway URL
| -g / --gateway | URL für OpenFaaS Gateway |
faas-cli template pull GIT-URL [--overwrite]
| --overwrite | Bestehende (gleichnamige) Vorlagen ersetzen |
PHP https://github.com/itscaro/openfaas-template-php/
CSharp (TDD, COMMON) https://github.com/fpommerening/openfaas-template-csharp
CSharp (Kestrel) https://github.com/BurtonR/csharp-kestrel-template
Java https://github.com/tmobile/faas-java-templates
GO https://github.com/alexellis/golang-http-template
faas-cli template pull https://github.com/fpommerening/openfaas-template-csharp.git
Visual Studio Projektmappe erstellen
dotnet new sln
dotnet sln add ./tdd/Function.csproj
Testprojekt erstellen und Abhängigkeit
en ergänzen
dotnet new mstest -lang c# --name tests
dotnet sln add ./tests/tests.csproj
dotnet add ./tests/tests.csproj reference ./tdd/Function.csproj
dotnet add ./tests/tests.csproj package OpenFaaS.DotNet
dotnet add ./tests/tests.csproj package FluentAssertions
faas-cli template pull https://github.com/fpommerening/openfaas-template-csharp.git
ps: ./template/csharp-common/new.ps1 myfunction
Funktionen bauen
ps: ./template/csharp-common/build.ps1
http://gateway:8080/function/myfunction
http://gateway:8080/async-function/myfunction
Die optionale Callback-Url aus dem Header-Parameter X-Callback-Url wird nach der Ausführung aufgerufen.