SQL Server 数据库 使用 Docker 部署 SQL Server 数据库的步骤

SQL Server 数据库阿木 发布于 2025-07-10 12 次阅读


使用 Docker 部署 SQL Server 数据库的步骤详解

随着容器技术的兴起,Docker 已经成为部署和管理应用程序的首选平台之一。Docker 的轻量级、可移植性和易于扩展的特性使得它非常适合用于部署数据库服务,如 SQL Server。本文将详细介绍使用 Docker 部署 SQL Server 数据库的步骤,包括准备工作、配置 Dockerfile、构建镜像、运行容器以及配置数据库连接。

1. 准备工作

在开始之前,请确保您已经安装了以下软件:

- Docker:可以从 Docker 官网下载并安装。

- Visual Studio Code:用于编写 Dockerfile 和其他配置文件。

- SQL Server:您需要准备 SQL Server 的安装文件,以便在 Docker 容器中安装。

2. 创建 Dockerfile

Dockerfile 是一个包含一系列指令的文本文件,用于构建 Docker 镜像。以下是一个基本的 Dockerfile 示例,用于部署 SQL Server 数据库:

Dockerfile

使用官方 SQL Server Docker 镜像作为基础镜像


FROM mcr.microsoft.com/mssql/server:2019-latest

设置容器中的工作目录


WORKDIR /usr/local/sqlserver

设置环境变量,确保 SQL Server 服务以容器用户身份运行


ENV ACCEPT_EULA Y


ENV SA_PASSWORD YourStrong!Password

安装 SQL Server 数据库引擎


RUN sqlcmd -I -Q "CREATE DATABASE SampleDB;"

暴露 SQL Server 的默认端口


EXPOSE 1433

启动 SQL Server 服务


CMD ["sqlservr", "-m"]


在这个 Dockerfile 中,我们使用了 Microsoft 官方的 SQL Server 镜像作为基础镜像。我们设置了环境变量 `ACCEPT_EULA` 和 `SA_PASSWORD` 来接受 EULA 并设置 SQL Server 的系统管理员密码。然后,我们使用 `sqlcmd` 命令创建了一个名为 `SampleDB` 的数据库。我们暴露了 SQL Server 的默认端口 1433 并启动了 SQL Server 服务。

3. 构建镜像

在 Visual Studio Code 中打开 Dockerfile,然后使用以下命令构建 Docker 镜像:

bash

docker build -t sqlserver-image .


这将构建一个名为 `sqlserver-image` 的 Docker 镜像。

4. 运行容器

构建完镜像后,我们可以使用以下命令运行一个 SQL Server 容器:

bash

docker run -d --name sqlserver-container -p 1433:1433 sqlserver-image


这个命令将创建一个名为 `sqlserver-container` 的容器,并将容器的 1433 端口映射到宿主机的 1433 端口。

5. 配置数据库连接

在您的应用程序中,您需要配置数据库连接以连接到 Docker 容器中的 SQL Server 数据库。以下是一个使用 Python 和 `pyodbc` 库连接到 SQL Server 数据库的示例:

python

import pyodbc

设置连接字符串


conn_str = (


r'DRIVER={SQL Server};'


r'SERVER=sqlserver-container;'


r'DATABASE=SampleDB;'


r'UID=sa;'


r'PWD=YourStrong!Password;'


)

建立连接


conn = pyodbc.connect(conn_str)


cursor = conn.cursor()

执行查询


cursor.execute("SELECT FROM SampleDB.dbo.sys.tables")

打印结果


for row in cursor:


print(row)

关闭连接


cursor.close()


conn.close()


在这个示例中,我们使用 `pyodbc` 库连接到名为 `sqlserver-container` 的容器,并查询 `SampleDB` 数据库中的表。

6. 总结

使用 Docker 部署 SQL Server 数据库是一个简单而高效的过程。通过创建 Dockerfile、构建镜像、运行容器和配置数据库连接,您可以快速地将 SQL Server 数据库部署到 Docker 容器中。这种方法不仅简化了部署过程,还提供了更好的可移植性和可扩展性。

请注意,本文提供的示例代码仅供参考,实际部署时可能需要根据您的具体需求进行调整。