Variable SQL_INTERNAL_PORT
a probablement 3307
évaluer. Vous devez le changer en 3306
.
Vous pouvez également supprimer
expose:
- "${SQL_INTERNAL_PORT}"
lignes. Mysql expose déjà le port 3306.
Toutes les applications du cluster utilisent des ports internes (3306 dans le cas de mysql). Les ports externes (dans la section ports) dont vous avez besoin uniquement pour la communication de mots externes.
Si vous voulez avoir plusieurs bases de données, vous devez changer docker-compose comme ceci :
version: '3'
services:
hackernews:
image: prismagraphql/prisma:1.8
restart: always
ports:
- "${CLIENT_PORT}:${INTERNAL_PORT}"
environment:
PRISMA_CONFIG: |
port: $INTERNAL_PORT
managementApiSecret: $PRISMA_MANAGEMENT_API_SECRET
databases:
default:
connector: mysql
host: mysql_first
port: 3306
user: root
password: $SQL_PASSWORD
migrations: true
second:
connector: mysql
host: mysql_second
port: 3306
user: root
password: $SQL_PASSWORD
migrations: true
mysql_first:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: $SQL_PASSWORD
ports:
- 3307:3306
volumes:
- ./custom/:/etc/mysql/conf.d/my.cnf
- mysql:/var/lib/mysql
mysql_second:
image: mysql:5.7
restart: always
environment:
ports:
- 3308:3306
MYSQL_ROOT_PASSWORD: $SQL_PASSWORD