Sujet :
RÉSOLU
Liste des sujets Répondre Créer un sujet
Bonjour,
J'essaye de lancer docker-compose.yml qui contient un MicroService et une BDD mysql.
J'ai un problème de communication entre le microservice et BDD
NB: j'ai utilise docker sous Windows avec WSL.
Merci pour votre aide.
========Erreur===========
cinema-service_1 | 2020-05-06 16:11:54.096 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
db_1 | 2020-05-06T16:11:54.729925Z 9 [Note] Access denied for user 'root'@'172.28.0.3' (using password: NO)
cinema-service_1 | 2020-05-06 16:11:55.770 ERROR 1 --- [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization.
cinema-service_1 |
cinema-service_1 | java.sql.SQLException: Access denied for user 'root'@'172.28.0.3' (using password: NO)
cinema-service_1 | at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.19.jar!/:8.0.19]
===================================
===========docker-compose.yml============
version: '3.3'
services:
db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: 'cinema'
# So you don't have to use root, but you can if you like
#MYSQL_USER: 'cinema_user'
# You can use whatever password you like
#MYSQL_PASSWORD: 'cinema_root'
# Password for root access
MYSQL_ROOT_PASSWORD: 'rootroot'
ports:
# <Port exposed> : < MySQL Port running inside container>
- 3306:3306
expose:
# Opensport 3306 on the container
- 3306
# Where our data will be persisted
volumes:
- db-volume:/var/lib/mysql
cinema-service:
image: yzirari/microservice-docker-cinema:0.0.1-SNAPSHOT
environment:
MYSQL_DATABASE: 'cinema'
links:
- db
depends_on:
- db
volumes:
db-volume: {}
=======================
vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
ajdaini-hatim
Membre depuis le 11/05/2019
rédacteur
Bonjour @Younes-Zirari bienvenue déjà dans la communauté devopssec. Pour répondre à ton problème puis-je voir le code qui te permet de te connecter à ta base de données mysql ?
Younes-Zirari
Membre depuis le 02/05/2020
actif
Merci @ajdaini-hatim, votre travail est remarquable :)
Younes-Zirari
Membre depuis le 02/05/2020
actif
Peux être un problème sur le forum.
Ton message est affiché après mon dernier poste.
ajdaini-hatim
Membre depuis le 11/05/2019
rédacteur
Re @Younes-Zirari merci pour ta remarque ! En effet, je suis en train d'améliorer le site web notamment le système de Forum et de commentaires. Tu peux maintenant éditer ton commentaire si tu le souhaites sans charger entièrement la page. Bref, pour revenir au sujet principal, je vais tester ton fichier docker-compose et revenir vers toi, une fois que j'ai plus d'informations 😀.
ajdaini-hatim
Membre depuis le 11/05/2019
rédacteur
Bonjour @Younes-Zirari je ne retrouve pas ton image "yzirari/microservice-docker-cinema:0.0.1-SNAPSHOT" tu viens de la supprimer ?
Younes-Zirari
Membre depuis le 02/05/2020
actif
Salut @ajdaini-hatim.
J'ai fait un push. yzirari/microservice-docker-cinema est disponible sur hub.docker
ajdaini-hatim
Membre depuis le 11/05/2019
rédacteur
Salut @Younes-Zirari j'obtiens l'erreur suivante :
2 questions, utilises-tu le mot de passe 'rootroot' dans ta variable spring.datasource.password ? Autre question, comment est architecturé ton serveur web et base de données, sont-ils tous les 2 sur le même serveur ou ils sont séparés sur un serveur chacun ?
Younes-Zirari
Membre depuis le 02/05/2020
actif
C'est le meme erreur que moi.
Comme j'ai commenté MYSQL_USER et MYSQL_PASSWORD alors les valeurs par défaut sont: user= "root" et password = "" (vide)
d'ou la conf suivante sur le microservice-docker-cinema:
- sont-ils tous les 2 sur le même serveur ou ils sont séparés sur un serveur chacun ?
pour moi 2 conteneurs (chaqu'un dans son propre conteneur)
modifié le
ajdaini-hatim
Membre depuis le 11/05/2019
rédacteur
@Younes-Zirari ta ligne MYSQL_ROOT_PASSWORD n'est pas commenté, donc tu dois utiliser ce mot de passe. De plus je pense que tu dois laisser ta chaîne de caractère vide car à vérifier le conteneur doit utiliser un mot de passe par défaut quand celui ci n'est pas spécifié.
Autre chose, quand tu dis que ce sont 2 serveurs séparés, tu veux dire par là que tu as ton conteneur cinema-service sur un serveur physique/virtuel différent de celui de ton conteneur db ?
Younes-Zirari
Membre depuis le 02/05/2020
actif
Hello hatim.
Effectivement ça fonctionne avec la conf suivante 😃
Les deux conteneur sont sur le meme serveur physique (machine local).
Merci pour ton aide 🙂