Variable SQL_INTERNAL_PORT
hat wahrscheinlich 3307
Wert. Sie müssen ihn in 3306
ändern .
Sie können auch
entfernen expose:
- "${SQL_INTERNAL_PORT}"
Linien. MySQL stellt bereits Port 3306 zur Verfügung.
Alle Anwendungen im Cluster verwenden interne Ports (3306 im Fall von MySQL). Externe Ports (im Abschnitt Ports) benötigen Sie nur für die externe Wortkommunikation.
Wenn Sie mehrere Datenbanken haben möchten, müssen Sie docker-compose etwa so ändern:
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