返回

快人一步!Docker轻松安装SQL Server,x86和arm64架构统统搞定!

后端

Docker + SQL Server:跨架构无缝安装指南

在当今快节奏的数字世界中,数据管理已成为企业成功不可或缺的一部分。Docker,作为一种轻量级、可移植的容器化技术,彻底改变了应用程序的部署和管理方式。同时,SQL Server,作为一款功能强大的关系型数据库管理系统,在企业级应用程序中发挥着至关重要的作用。

将 Docker 与 SQL Server 结合起来,可以创造一个强大的组合,为您的数据管理带来无与伦比的便利性和灵活性。本指南将深入探讨如何在 x86 和 arm64 架构中使用 Docker 安装和使用 SQL Server。

一、x86 架构

1. 拉取镜像

第一步是拉取 Microsoft 官方提供的 SQL Server 镜像:

docker pull microsoft/mssql-server-linux:2022-latest

2. 运行容器

使用以下命令运行 SQL Server 容器:

docker run -d --name sql-server -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=YourStrongPassword' -p 1433:1433 microsoft/mssql-server-linux:2022-latest
  • -d 表示以守护进程模式运行容器。
  • --name sql-server 指定容器的名称。
  • -e 'ACCEPT_EULA=Y' 接受 SQL Server 最终用户许可协议。
  • -e 'SA_PASSWORD=YourStrongPassword' 设置 SA(系统管理员)用户的密码。
  • -p 1433:1433 将容器内的 1433 端口映射到主机的 1433 端口,以便从外部访问 SQL Server。

3. 进入容器

要与正在运行的 SQL Server 容器进行交互,使用以下命令:

docker exec -it sql-server bash

4. 连接数据库

使用 sqlcmd 工具连接到 SQL Server 实例:

sqlcmd -S localhost -U SA -P YourStrongPassword
  • -S localhost 指定 SQL Server 实例的主机名。
  • -U SA 使用 SA 用户身份连接。
  • -P YourStrongPassword 使用您在步骤 2 中设置的密码。

5. 远程连接

要从外部机器连接到 SQL Server 容器,请使用以下命令:

sqlcmd -S 127.0.0.1,1433 -U SA -P YourStrongPassword
  • 127.0.0.1,1433 是容器的主机名和端口。
  • SA 是用户名。
  • YourStrongPassword 是密码。

二、arm64 架构

对于 arm64 架构,安装和使用 SQL Server 与 x86 架构类似。唯一的区别在于您需要拉取 arm64 专用的镜像:

docker pull microsoft/mssql-server-linux-arm64:2022-latest

在运行容器时,请使用 microsoft/mssql-server-linux-arm64:2022-latest 作为镜像名称,其他步骤与 x86 架构相同。

结语

将 Docker 与 SQL Server 结合使用,为您提供了跨架构无缝管理数据的强大解决方案。无论您是使用 x86 还是 arm64 架构,都可以轻松部署和使用 SQL Server,从而释放其全部功能。

常见问题解答

  1. 如何在 SQL Server 容器中创建新数据库?
CREATE DATABASE MyNewDatabase;
  1. 如何从外部机器连接到 SQL Server 容器?

使用以下命令:

sqlcmd -S 127.0.0.1,1433 -U SA -P YourStrongPassword
  1. 如何更改 SA 用户的密码?

连接到 SQL Server 后,执行以下命令:

ALTER LOGIN SA WITH PASSWORD = 'NewStrongPassword';
  1. 如何备份 SQL Server 容器中的数据库?

使用以下命令:

docker exec sql-server bash
sqlcmd -S localhost -U SA -P YourStrongPassword -Q "BACKUP DATABASE MyDatabase TO DISK = '/tmp/MyDatabase.bak'"
  1. 如何恢复 SQL Server 容器中的数据库?

使用以下命令:

docker exec sql-server bash
sqlcmd -S localhost -U SA -P YourStrongPassword -Q "RESTORE DATABASE MyDatabase FROM DISK = '/tmp/MyDatabase.bak'"