Ceci :
mysql:
image: mysql:5.7
environment:
...
ports:
- "3307:3306"
Signifie que Docker mappera le 3307
port de l'hôte vers le 3306
port du conteneur. Vous pouvez donc accéder de Sequel à localhost:3307
.
Cependant, cela ne signifie pas que le conteneur écoute 3307
; le conteneur écoute en fait toujours 3306
. Lorsque d'autres conteneurs tentent d'accéder au mysql
DNS, il est traduit en IP interne du conteneur, vous devez donc vous connecter à 3306
.
La configuration de votre nœud devrait donc ressembler à :
const config = {
host: 'mysql',
database: 'mydb',
port: '3306',
user: 'mysql',
password: '1234',
connectionLimit: 10
}
Et ceci dans votre docker-compose.yml :
command: ["./wait-for-it.sh", "mysql:3306"]