首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >第二,node.js无法连接到mysql在坞组合中

第二,node.js无法连接到mysql在坞组合中
EN

Stack Overflow用户
提问于 2021-11-15 14:50:42
回答 1查看 126关注 0票数 1

目前,我正在尝试设置我的坞-撰写文件来运行多个Node.js API,第一个Node.js服务器可以很好地连接到数据库。

第二个Node.js服务器一直抛出此错误original: Error: connect ECONNREFUSED 172.29.0.3:3307

那么,我的问题是如何在码头上运行多个Node.js API?

这是我的船坞-合成人。

代码语言:javascript
复制
version: '3.7'

services:
  ISAAC-floor-database:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: isaac
    ports:
      - "3306:3306"
    volumes:
      - ./sql-scripts:/docker-entrypoint-initdb.d

  ISAAC-sensor-database:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: isaac
    ports:
      - "3307:3307"
    volumes:
      - ./sql-scripts:/docker-entrypoint-initdb.d

  ISAAC-floor-back-end:
    image: jjuless/isaac-floor-back-end
    environment:
      DB_HOST: ISAAC-floor-database
      DB_USER: root
      DB_PASSWORD: isaac
      DB_DATABASE: isaac
      DB_PORT: 3306
      DB_DIALECT: mysql
    ports:
      - "3000:80"
    depends_on:
      - ISAAC-floor-database

  ISAAC-sensor-back-end:
    image: jjuless/isaac-sensor-back-end
    environment:
      DB_HOST: ISAAC-sensor-database
      DB_USER: root
      DB_PASSWORD: isaac
      DB_DATABASE: isaac
      DB_PORT: 3307
      DB_DIALECT: mysql
    ports:
      - "3001:80"
    depends_on:
      - ISAAC-sensor-database 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-15 15:01:47

Mysql总是监听每个容器中的端口3306,因此如果您希望在同一个主机中有多个mysql实例,则需要将不同的主机端口映射到相同的来宾端口

因此,您需要按以下方式更改docker-compose文件

代码语言:javascript
复制
ISAAC-floor-database:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: isaac
    ports:
      - "3306:3306" # <-- HOST port same as GUEST port
    volumes:
      - ./sql-scripts:/docker-entrypoint-initdb.d

ISAAC-sensor-database:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: isaac
    ports:
      - "3307:3306" # <-- Notice here the GUEST port is the same as the first container!
    volumes:
      - ./sql-scripts:/docker-entrypoint-initdb.d
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69976328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档