SQL Server 配置远程连接 Docker

在使用 Docker 部署 SQL Server 数据库时,如果需要从远程主机连接到 SQL Server 实例,需要进行一些配置。本文将介绍如何在 Docker 上配置 SQL Server 的远程连接,并提供相应的代码示例。

步骤一:创建 Docker 容器

首先,我们需要创建一个 Docker 容器来运行 SQL Server。可以使用以下命令在 Docker 上启动 SQL Server:

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<YourStrong!Passw0rd>" \
   -p 1433:1433 --name sql_server_container \
   -d mcr.microsoft.com/mssql/server:2019-latest

这个命令将在 Docker 上启动一个名为 sql_server_container 的容器,并将 SQL Server 监听的端口映射到主机的 1433 端口。同时,还需要设置 SQL Server 的 SA 用户的密码。

步骤二:配置容器内部的 SQL Server

在容器内部运行的 SQL Server 需要进行一些配置,以允许远程连接。首先,需要登录到容器内部的 SQL Server:

docker exec -it sql_server_container /opt/mssql-tools/bin/sqlcmd \
   -S localhost -U SA -P '<YourStrong!Passw0rd>'

执行上述命令后,将会进入 SQL Server 的命令行界面。

步骤三:配置远程连接

在 SQL Server 命令行界面中,执行以下命令来配置远程连接:

-- 允许远程连接
EXEC sp_configure 'remote access', 1
GO
RECONFIGURE
GO

-- 允许远程 DAC 连接
EXEC sp_configure 'remote admin connections', 1
GO
RECONFIGURE
GO

-- 重启 SQL Server 使配置生效
SHUTDOWN
GO

这些命令将启用 SQL Server 的远程连接功能,并允许远程 DAC 连接。最后,需要重启 SQL Server 使配置生效。

步骤四:验证远程连接

完成以上配置后,我们可以从远程主机上使用 SQL Server 客户端工具来验证远程连接。

首先,需要获取 Docker 容器所在主机的 IP 地址。可以使用以下命令来获取 IP 地址:

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' sql_server_container

获取到 IP 地址后,可以使用 SQL Server 客户端工具(如 SQL Server Management Studio)来连接到 SQL Server 实例。在连接对话框中,使用以下信息进行连接:

  • 服务器名称:容器所在主机的 IP 地址
  • 身份验证:SQL Server 身份验证
  • 登录:SA
  • 密码:之前设置的密码

成功连接到 SQL Server 实例后,即可进行数据库操作。

总结

本文介绍了如何在 Docker 上配置 SQL Server 的远程连接。通过以下步骤,可以进行远程连接的配置:

  1. 创建 Docker 容器:使用 Docker 命令创建运行 SQL Server 的容器。
  2. 配置容器内部的 SQL Server:登录到容器内部的 SQL Server,并进行相应的配置。
  3. 配置远程连接:在 SQL Server 命令行界面中执行命令,启用远程连接功能。
  4. 验证远程连接:从远程主机上使用 SQL Server 客户端工具来验证连接。

希望本文对于配置 SQL Server 远程连接的 Docker 容器有所帮助。