sql >> Base de Datos >  >> RDS >> Mysql

Ejecute MySQL en el puerto 3307 usando Docker Compose

Variable SQL_INTERNAL_PORT probablemente tiene 3307 valor. Tienes que cambiarlo a 3306 .

Además, puede eliminar

    expose:
    - "${SQL_INTERNAL_PORT}"

líneas. Mysql ya expone el puerto 3306.

Todas las aplicaciones en el clúster usan puertos internos (3306 en el caso de mysql). Puertos externos (en la sección puertos) que necesita solo para la comunicación de palabras externas.

Si desea tener varias bases de datos, debe cambiar docker-compose algo como esto:

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