我有一个名为 microsoft/mssql-server-linux 的 SQL Server Docker 映像,用于启动 SQL Server 数据库。我有一个在 Docker 之外创建的 API,但我尝试构建一个连接字符串以连接到该数据库,但没有成功。
我已使用 Azure Data Studio 成功连接到此数据库,只需使用以下连接设置
Connection Type: Microsoft SQL Server
Server: localhost
Username: (username I created)
Password: (password I created)
我使用 Feathersjs 创建了一个 API 项目,并使用 sequelize 作为 ORM。这是我一直在尝试创建连接的方式。
const sequelize = new Sequelize(database, username, password, {
dialect: "mssql",
host: localhost,
encrypt: false,
logging: false,
operatorsAliases: false,
define: {
freezeTableName: true
},
dialectOptions: {
port: 1433
// instanceName: "NameOfTheMSSQLInstance"
}
});
我正在使用端口 1433,因为当我在终端中运行“docker ps”时,它在端口下列出了此信息。
0.0.0.0:1433->1433/tcp
我知道用户名/密码是正确的,因为我已通过 Azure Data Studio 成功连接并在 docker 中更改了几次,以确保这不是凭据问题。
尝试连接时收到以下错误消息
错误:未处理的拒绝:Promise {"_bitField":18087936,"_fulfillmentHandler0":{"name":"SequelizeConnectionError","parent":{"message":"Failed to connect to 172.17.0.2:1433 in 15000ms", "code":"ETIMEOUT"},"original":{"message":"15000ms 内无法连接到 172.17.0.2:1433","code":"ETIMEOUT"}},"name":"SequelizeConnectionError", "parent":{"message":"15000ms 内连接 172.17.0.2:1433 失败","code":"ETIMEOUT"},"original":{"message":"连接 172.17.0.2 失败: 1433 in 15000ms","code":"ETIMEOUT"}} 错误:GeneralError:无法在 15000ms 内连接到 172.17.0.2:1433