Maison > Questions et réponses > le corps du texte
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粉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