docker server 容器连接sql_sql-server-什么会阻止在Docker容器中运行的代码连接到单独服务器上的数据库?...

我在Ubuntu 14.04的Docker容器中运行一个.NET Core 1.1应用程序,但它无法连接到在单独的服务器上运行的SQL Server数据库.

错误是:

Unhandled Exception: System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider,error: 25 – Connection string is not valid)

>我在另一台Ubuntu 14.04服务器上使用相同的命令行部署了相同的映像,并且连接正常.

>在问题服务器(Docker外部)上运行的控制台应用程序可以使用相同的连接字符串进行连接.

据我从文档中可以看到,默认情况下,在容器中运行的应用可以访问外部网络,那么阻止该连接的原因是什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮你解答这个问题。 首先,在 Linux 系统上部署 Docker,需要先安装 Docker,可以参考 Docker 的官方文档进行安装。 接下来,从 Docker Hub 上获取 SQL Server 镜像,并在容器运行 SQL Server。可以使用以下命令: ``` docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=yourStrong(!)Password" -p 1433:1433 --name sqlserver -d mcr.microsoft.com/mssql/server:2019-latest ``` 其,`ACCEPT_EULA` 参数需要设置为 `Y`,表示接受 Microsoft 的许可协议;`SA_PASSWORD` 参数需要设置为你自己的密码;`-p` 参数表示将容器的 1433 端口映射到主机的 1433 端口;`--name` 参数表示容器的名称;`-d` 参数表示以后台模式运行容器;`mcr.microsoft.com/mssql/server:2019-latest` 是 SQL Server 的镜像名称。 接着,将备份文件拷贝到容器,并使用 SQL Server Management Studio 或者 SQLCMD 工具还原数据库备份。可以使用以下命令将备份文件拷贝到容器: ``` docker cp your_backup_file.bak sqlserver:/var/opt/mssql/data/ ``` 其,`your_backup_file.bak` 是你的数据库备份文件名称,`sqlserver` 是容器的名称。 最后,在容器使用 SQL Server Management Studio 或者 SQLCMD 工具还原备份文件,可以参考以下命令: ``` /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'yourStrong(!)Password' -Q 'RESTORE DATABASE your_database_name FROM DISK = "/var/opt/mssql/data/your_backup_file.bak"' ``` 其,`your_database_name` 是你要还原的数据库名称,`your_backup_file.bak` 是数据库备份文件名称。 希望以上内容能够帮助你部署 Docker SQL Server 容器并还原数据库备份。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值