Hallo zusammen,
ich bräuchte mal ein paar Start Tipps / Hilfen zu Docker. Vielleicht kann ja jemand (per Zitat) meine konkrete Fragen beantworten.
Hinweis: als "Mandant" betitel ich nun meine User / Kunden.
Generell möchte ich folgendes realisieren:
Hier einige Fragen:
Allgemein
Wie starte ich denn allgemein?
Nach meiner Recherche:
a) Ich installiere Docker Desktop
b) Ich installiere dann dies:
https://hub.docker.com/r/bitnami/wildfly
https://hub.docker.com/_/mysql
c) Wie ich das WAR - File in den Wildfly bekomme, wird hier beschrieben ( https://hub.docker.com/r/bitnami/wildfly )
Datenbank:
a) Habe ich dann eine zentrale Datenbank, der zB auf dbserver.myapp.com läuft? Und dann pro Mandant darauf ein Datenbank Schema?
b) Oder eine Datenbank pro Docker Instanz?
Automatisierung:
- Mein Prozess ist im Prinzip nichts anderes, wie bei SaaS Applikationen, wie Zendesk etc.
1) User registriert sich
2) Docker Instanz wird erstellt / gestartet. Hier muss ich doch dann in dem Docker File immer eine Anpassung machen? Mindestens mal das richtige Schema angeben?
3) Datenbank bzw. Schema erstellt
4) User kann die App nun über user1.mydomain.com aufrufen
-> Wie realisiere ich das automatisiert? Welche Tools brauche ich dazu? Hat der User dann in einigen Sekunden Zugriff auf die App?
Administration / Tools:
- Zusätzlich suche ich ein kostenloses Programm, mit dem ich dann die Docker Instanzen managen kann.
-> Ich denke sowas wie "Portainer"? So wie ich gesehen habe ist "Portainer" aber nicht kostenlos?
Ressourcen Verteilung / Speicher
- Das ist mir noch nicht ganz klar, wie das mit den Ressourcen funktioniert. Ich habe quasi pro Mandant ein Container (Docker Instanz), welches dann:
a) Wildfly (500 MB) b) Mysql (1000 MB) c) War - File (500 MB) (= Applikation) enthält.
-> In Summe wären das also 2000 MB. D.h. dann eben auch 2000 MB pro Kunde? Also bei 10 Kunden: 20.000 MB Speicherplatz?
Nun habe ich aber gelernt, dass das wohl nicht so sei?
Das Betriebssystem brauche ich ja nicht dazuzählen. Das läuft bei Docker ja anders, als bei einer VM. Hier nutzt jeder Docker Container das gleiche Betriebssystem.
Danke für jegliche Hilfe
ich bräuchte mal ein paar Start Tipps / Hilfen zu Docker. Vielleicht kann ja jemand (per Zitat) meine konkrete Fragen beantworten.
Hinweis: als "Mandant" betitel ich nun meine User / Kunden.
Generell möchte ich folgendes realisieren:
- Wildfly Server mit Mysql Datenbank inkl. meiner Webapp (war - file).
- Pro Mandant möchte ich gerne eine Docker Instanz laufen lassen inkl. eigener Datenbank (Schema)
Hier einige Fragen:
Allgemein
Wie starte ich denn allgemein?
Nach meiner Recherche:
a) Ich installiere Docker Desktop
b) Ich installiere dann dies:
https://hub.docker.com/r/bitnami/wildfly
https://hub.docker.com/_/mysql
c) Wie ich das WAR - File in den Wildfly bekomme, wird hier beschrieben ( https://hub.docker.com/r/bitnami/wildfly )
Datenbank:
a) Habe ich dann eine zentrale Datenbank, der zB auf dbserver.myapp.com läuft? Und dann pro Mandant darauf ein Datenbank Schema?
b) Oder eine Datenbank pro Docker Instanz?
Automatisierung:
- Mein Prozess ist im Prinzip nichts anderes, wie bei SaaS Applikationen, wie Zendesk etc.
1) User registriert sich
2) Docker Instanz wird erstellt / gestartet. Hier muss ich doch dann in dem Docker File immer eine Anpassung machen? Mindestens mal das richtige Schema angeben?
3) Datenbank bzw. Schema erstellt
4) User kann die App nun über user1.mydomain.com aufrufen
-> Wie realisiere ich das automatisiert? Welche Tools brauche ich dazu? Hat der User dann in einigen Sekunden Zugriff auf die App?
Administration / Tools:
- Zusätzlich suche ich ein kostenloses Programm, mit dem ich dann die Docker Instanzen managen kann.
-> Ich denke sowas wie "Portainer"? So wie ich gesehen habe ist "Portainer" aber nicht kostenlos?
- Ich habe nicht die Erfahrung was diese Admin Tool alles können muss. Aber mal mindestens die Docker Instanzen stoppen / starten
- Das Tool sollte über eine GUI verfügen und nicht nur über die Konsole etc. bedienbar sein
Ressourcen Verteilung / Speicher
- Das ist mir noch nicht ganz klar, wie das mit den Ressourcen funktioniert. Ich habe quasi pro Mandant ein Container (Docker Instanz), welches dann:
a) Wildfly (500 MB) b) Mysql (1000 MB) c) War - File (500 MB) (= Applikation) enthält.
-> In Summe wären das also 2000 MB. D.h. dann eben auch 2000 MB pro Kunde? Also bei 10 Kunden: 20.000 MB Speicherplatz?
Nun habe ich aber gelernt, dass das wohl nicht so sei?
Das Betriebssystem brauche ich ja nicht dazuzählen. Das läuft bei Docker ja anders, als bei einer VM. Hier nutzt jeder Docker Container das gleiche Betriebssystem.
Danke für jegliche Hilfe