Biến SQL_INTERNAL_PORT
có thể có 3307
giá trị. Bạn cần thay đổi nó thành 3306
.
Ngoài ra, bạn có thể xóa
expose:
- "${SQL_INTERNAL_PORT}"
các dòng. Mysql đã để lộ cổng 3306.
Tất cả các ứng dụng trong cụm đều sử dụng cổng nội bộ (3306 trong trường hợp mysql). Các cổng bên ngoài (trong các cổng phần) bạn chỉ cần cho giao tiếp từ bên ngoài.
Nếu bạn muốn có nhiều cơ sở dữ liệu, bạn cần thay đổi docker-soạn một cái gì đó như sau:
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