在 mac os ventura 13.1 中与 docker compose 中的远程 SQL Server 的超时连接

问题描述 投票:0回答:0

我有一个应用程序在我们的自托管服务器上使用 docker(在 docker compose 上运行的 docker 图像)运行良好(我不知道网络和路由配置),但是当我在我的本地主机 macbook 上运行它时,它会产生连接远程 SQL Server 超时。

这是应用程序规格:

  1. 节点 js 高山
  2. Compose 版本 3.8
  3. 使用 sequelize 6.8.0 和 tedious 14.0.0 连接到 mssql
  4. Docker 桌面 4.18.0

机器规格: 配备 Mac OS Ventura 13.1

的 Macbook pro 2020 M1 芯片

这是 docker compose 配置:

version: "3.8"
services:
  api:
    container_name: mobile-apps-api-dev
    image: ${CONTAINER_RELEASE_IMAGE}
    restart: always
    volumes:
      - /Users/fhi-it-dev/Documents/server-mobile-apps-v2/uploads:/mobile-apps-api-dev/uploads
      - /Users/fhi-it-dev/Documents/server-mobile-apps-v2/share:/mobile-apps-api-dev/share
    ports:
      - "4002:4002"
    cpus: 0.7
    command: npm run start:dev
    networks:
      - "mynetwork"

  redis:
    image: redis:7.0.4
    restart: always
    volumes:
      - /Users/fhi-it-dev/Documents/server-mobile-apps-v2/data:/mobile-apps-api-dev/data
    ports:
      - "6379:6379"
    command: redis-server --save 20 1 --loglevel warning --port 6379
    networks:
      - "mynetwork"

  redisFcm:
    image: redis:7.0.4
    restart: always
    volumes:
      - /Users/fhi-it-dev/Documents/server-mobile-apps-v2/dataFcm:/mobile-apps-api-dev/dataFcm
    ports:
      - "6381:6381"
    command: redis-server --save 20 1 --loglevel warning --port 6381
    networks:
      - "mynetwork"

networks:
  mynetwork:
    external: true
    driver: "bridge"

这是产生的错误:

2023-05-03 08:51:45   original: ConnectionError: Failed to connect to 172.17.221.183:1433 in 15000ms
2023-05-03 08:51:45       at Connection.connectTimeout (/mobile-apps-api-dev/node_modules/tedious/lib/connection.js:1232:26)
2023-05-03 08:51:45       at Timeout._onTimeout (/mobile-apps-api-dev/node_modules/tedious/lib/connection.js:1177:12)
2023-05-03 08:51:45       at listOnTimeout (node:internal/timers:573:17)
2023-05-03 08:51:45       at process.processTimers (node:internal/timers:514:7) {
2023-05-03 08:51:45     code: 'ETIMEOUT',
2023-05-03 08:51:45     isTransient: undefined
2023-05-03 08:51:45   }
2023-05-03 08:51:45 }

这个IP就是我们的SQL Server IP地址:172.17.221.183

为什么在ubuntu服务器上运行正常,在本地mac上运行却超时?本地主机需要一些网络配置吗?

请帮忙

sql-server docker docker-compose sequelize.js connection-timeout
© www.soinside.com 2019 - 2024. All rights reserved.