Impossible de se connecter au conteneur Docker MySQL à partir d'un autre conteneur sous le même réseau, mais accessible de l'extérieur
P粉116631591
P粉116631591 2023-09-12 20:37:02
0
1
509

J'ai deux conteneurs - "node.js" et "mysql", tous deux configurés pour être sur le même réseau. Faire docker-compose up -d démarre les conteneurs et ils fonctionnent, je peux accéder respectivement à "node.js" et "mysql" depuis l'extérieur.

Mais je n'arrive pas à me connecter à "mysql" depuis "node.js". Est-ce que je fais quelque chose de mal ici?

version: '3'

services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    env_file: .env
    volumes:
      - .:/app
    ports:
      - ${APP_PORT}:${APP_PORT}
    depends_on:
      - mysql
    networks:
      - appnet

  mysql:
    image: mysql:8.0
    restart: always
    env_file: .env
    environment:
      - MYSQL_ROOT_HOST=%
      - MYSQL_ROOT_PASSWORD=${DB_PASSWORD}
      - MYSQL_DATABASE=${DB_NAME}
      - MYSQL_USER=${DB_USERNAME}
      - MYSQL_PASSWORD=${DB_PASSWORD}
    volumes:
      - mysql-data:/var/lib/mysql
    ports:
      - ${DB_PORT}:${DB_PORT}
    networks:
      - appnet

networks:
  appnet:

volumes:
  mysql-data:

Pour me connecter à MySQL, j'ai utilisé le package "knex.js" et cela fonctionne bien sur ma machine locale (même configuration docker)

P粉116631591
P粉116631591

répondre à tous(1)
P粉232793765

À voir au niveau d'un environnement qui pourrait être mal construit, voici un lien vers docker-compose :

https://varsubham.medium.com/nodejs-mysql-docker-compose-ad156cd0c885

J'espère que cela vous aidera

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal