Maison  >  Questions et réponses  >  le corps du texte

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

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粉116631591P粉116631591373 Il y a quelques jours434

répondre à tous(1)je répondrai

  • P粉232793765

    P粉2327937652023-09-13 14:36:34

    À 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

    répondre
    0
  • Annulerrépondre