変数SQL_INTERNAL_PORT
おそらく3307
があります 価値。 3306
に変更する必要があります 。
また、削除することもできます
expose:
- "${SQL_INTERNAL_PORT}"
行。 Mysqlはすでに3306ポートを公開しています。
クラスタに入るすべてのアプリケーションは内部ポートを使用します(mysqlの場合は3306)。外部ポート(セクションポート内)は、外部ワード通信にのみ必要です。
複数のデータベースが必要な場合は、docker-composeを次のように変更する必要があります。
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