J'ai créé petite application Wildfly Swarm avec KeyCloak serveur à l'aide WildFly Swarm Project Generator j'ai ajouté un code, construit et commencé mon pot de graisse à l'aide:Courir wildfly Swarm avec KeyCloak sur l'image docker
java -jar -Dswarm.port.offset=100 login-service-swarm.jar
Après application contempla j'ai créé nouveau royaume ajouté des utilisateurs etc. Puis j'ai remarqué que keycloak a créé 3 fichiers dans mes dossiers cibles. Ces fichiers où:
- keycloak.h2.db
- keycloak.lock.db
- keycloak.trace.db
Puis j'ai décidé de créer des images de docker et l'exécuter dans docker locale environnement. Donc, j'ai créé le fichier docker:
FROM java:openjdk-8-jdk
ADD login-service-swarm.jar /opt/login-service-swarm.jar
ADD keycloak.h2.db /opt/keycloak.h2.db
ADD keycloak.lock.db /opt/keycloak.lock.db
ADD keycloak.trace.db /opt/keycloak.trace.db
EXPOSE 8180
ENTRYPOINT ["java", "-jar", "-Dswarm.port.offset=100", "/opt/login-service-swarm.jar"]
image intégré en utilisant:
docker build -f Dockerfile -t login-service-swarm-v1 .
Et l'image est visible dans mon image docker liste:
C:\Work\Java\login-service\docker>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
login-service-swarm-v1 latest 710cddc59623 About a minute ago 790 MB
<none> <none> 100c0ee60f25 3 hours ago 779 MB
demo latest 03d12d49ba5e 4 hours ago 760 MB
java openjdk-8-jdk d23bdf5b1b1b 5 months ago 643 MB
Alors je l'ai commencé en utilisant:
docker run -p 8180:8180 login-service-swarm-v1
Et il regardait ok mais quand je vais à localhost: 8180/auth et essayez de vous connecter je me trompe de nom d'utilisateur et de mot de passe, donc je ne peux pas me connecter à keycloak. Alors je me demande pourquoi est-ce? Parce que j'ai manuayl inclus fichiers de base de données keycloak dans l'image docker et si je cours les commandes suivantes, vous pouvez voir tous les fichiers sont là comme prévu.
PS C:\> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8bb4bdb3945e login-service-swarm-v1 "java -jar -Dswarm..." 2 minutes ago Up 2 minutes 0.0.0.0:8180->8180/tcp blissful_knuth
PS C:\> docker exec -it 8bb4bdb3945e bash
[email protected]:/# ls
bin boot dev etc home keycloak.h2.db keycloak.lock.db keycloak.trace.db lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[email protected]:/# cd opt
[email protected]:/opt# ls
keycloak.h2.db keycloak.lock.db keycloak.trace.db login-service-swarm.jar
Alors, où est la prise ??
L'essaim de service de connexion est-il conçu pour être un serveur Keycloak ou un microservice sécurisé par Keycloak? Ce n'est pas tout à fait clair pour moi en ce moment – Ken
@Ken: login-service-swarm est un serveur Keycloak – Kiki