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

彼得

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

错误是:

未处理的异常:System.Data.SqlClient.SqlException:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称正确,并且已将SQL Server配置为允许远程连接。(提供程序:TCP提供程序,错误:25-连接字符串无效)

  1. 我已经在另一台Ubuntu 14.04服务器上使用相同的命令行部署了相同的映像,并且连接正常。
  2. 在问题服务器(Docker外部)上运行的控制台应用程序可以使用相同的连接字符串进行连接。

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

伊利亚·丘马科夫(Ilya Chumakov)

默认情况下,在容器中运行的应用可以访问外部网络

仅当为容器分配了有效的IP地址时,它才可以访问。有时Docker为容器选择的IP可能与外部网络冲突。

默认情况下,容器在bridge网络中运行,因此请看一下:

docker network inspect bridge

找到容器并检查其IP。

要解决冲突,可以自定义 bridge网络并设置bip参数以更改网络的IP范围(配置文件的位置取决于主机的OS):

"bip": "192.168.1.5/24"

创建一个新的泊坞窗网络。

或尝试以下net=host选项:docker运行网络设置

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将Docker服务容器中的应用程序连接到在外部网络Docker容器上运行的数据库

我可以从Docker容器内部连接到远程数据库服务器吗?

无法从Spring Boot Docker容器连接到本地MySQL数据库服务器

如何连接到在Docker容器中运行的服务器?

连接到在 windows docker 容器中运行的服务器

docker 容器中的服务器无法连接到另一个 docker 容器中的 postgres 数据库

从Docker容器中的脚本创建数据库时失去与MySQL服务器的连接

无法在docker-compose(php和MariaDB)中连接到数据库服务器

在PHP中连接到不同服务器上的多个数据库

什么可能会阻止从Docker容器到外部服务器的连接

Docker 中的 Odoo 14:数据库连接失败:无法连接到服务器:连接被拒绝

在连接到远程 mssql 服务器的 linux 14 上运行的 codeigniter PHP56 的数据库配置是什么

无法连接到运行 MySQL 服务器的 Docker 容器

如何将外部服务器上的网站连接到本地主机上运行的 Xaamp 数据库?

使用jdk10两个容器 - 如何成功地从dockerized Tomee服务器上运行的应用程序连接到Dockerized DB2数据库/服务器?

使用外部IP连接到在Cloud GCE VM上运行的Docker容器中的HTTPS服务器

无法连接到在Docker容器中运行的服务器(适用于Mac的Docker)

如何将本地机器上运行的 Postgres 数据库连接到 docker 容器

连接到Docker容器上的PostgreSQL数据库

如何通过Macbook上的终端连接到服务器上的MYSQL数据库?

如何将Docker容器中运行的Flyway连接到Docker容器中运行的数据库?

Odoo容器:数据库连接失败:无法连接到服务器:连接被拒绝(将odoo与localhost postgres链接)

应用程序运行时动态连接到服务器并创建数据库

Python:如何连接到服务器数据库?

无法连接到您的数据库服务器

SQL无法连接到数据库服务器

连接到远程mysql数据库服务器

如何从主机连接到在Docker容器中运行的mysql服务器?

无法连接到在本地Docker容器中运行的Go GRPC服务器