Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Führen Sie MySQL auf Port 3307 mit Docker Compose aus

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