【问题标题】:Can't connect to ms sql database from docker container by sql management studiosql management studio 无法从 docker 容器连接到 ms sql 数据库
【发布时间】:2019-07-09 16:01:25
【问题描述】:

我尝试运行一个 microsoft/mssql-server-windows-express 容器 ->

docker run -d -p 1433:1433 -e sa_password=password -e ACCEPT_EULA=Y microsoft/mssql-server-windows-express

我得到下一个错误 ->

docker:来自守护进程的错误响应:未能创建端点 网络 nat 上的 hopeful_kowalevski:HNS 失败并出现错误:该过程 无法访问该文件,因为它正被另一个进程使用。

我认为这是因为我环境中的 sql server 监听 1433 端口。 然后我尝试使用其他端口运行容器,例如 5000:1433 并且容器运行良好。

然后我尝试通过 sql management studio 使用“ip-address”,5000 从容器连接到 db。但我得到 Microsoft SQL Server,错误:258。

【问题讨论】:

  • 您确定没有防火墙阻止您使用端口 1433(或 5000)
  • 是的,没有防火墙阻止。我还为 5000 端口添加了新的防火墙规则。但它没有帮助(
  • 您必须在两端添加该规则。只是检查以确保
  • 两端是什么意思?我应该在主机添加规则和在容器中添加规则吗?
  • 运行此 docker 的机器上的防火墙必须允许该端口,并且您尝试连接数据库的机器上的防火墙也必须允许该端口

标签: sql-server docker containers sql-server-express


【解决方案1】:

据我了解,问题在于 DB 的密码不正确。密码与数据库规则不匹配。正确的密码应该包含

至少 8 个字符长并包含以下四组中的三组字符:大写字母、小写字母、Base 10 数字和符号 -> https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker?view=sql-server-2017&pivots=cs1-bash#pullandrun2017

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-07
    • 2018-07-28
    • 2022-01-04
    • 2017-11-24
    • 1970-01-01
    • 2016-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多