win11家庭版使用dockerDesktop容器化安装sqlserver数据库

在 Windows 11 家庭版上使用 Docker Desktop 容器化安装 SQL Server 数据库是一个相对直接的过程。以下是详细步骤:
### 前提条件 1. "安装 Docker Desktop":确保你已经安装了 Docker Desktop for Windows。你可以从 [Docker 官方网站](https://www.docker.com/products/docker-desktop/) 下载并安装。 2. "下载 SQL Server Docker 镜像":你需要下载 SQL Server 的 Docker 镜像。
### 步骤
#### 1. 打开 Docker Desktop 启动 Docker Desktop 并确保它正在运行。
#### 2. 打开 PowerShell 或命令提示符 你可以使用 PowerShell 或命令提示符来运行 Docker 命令。建议使用 PowerShell,因为它提供了更好的脚本支持和错误处理。
#### 3. 拉取 SQL Server Docker 镜像 使用以下命令拉取 SQL Server Docker 镜像。这里以 SQL Server 2019 为例:
```powershell docker pull mcr.microsoft.com/mssql/server:2019-latest ```
#### 4. 运行 SQL Server 容器 使用以下命令运行 SQL Server 容器。你需要设置一些环境变量和卷来持久化数据:
```powershell docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=YourStrongPassword!" -p 1433:1433 --name sqlserver -d mcr.microsoft.com

相关内容:

前提条件:先安装dockerDesktop

说明:这次是基于win11的家庭版上的dockerDesktop容器化安装sqlserver 2017数据库

一、拉取 SQL Server Docker 镜像

打开命令行工具cmd(或powershell),然后执行以下命令来拉取的SQL Server镜像:

docker pull mcr.microsoft.com/mssql/server:2017-latest

这将从Docker Hub下载Microsoft提供的官方SQL Server镜像。


查看拉取成功的镜像:

docker images
REPOSITORY                       TAG       IMAGE ID       CREATED       SIZE
mcr.microsoft.com/mssql/server   2017-latest   fedcf1ecc92e   7 weeks ago   1.33GB

说明:如果拉取镜像出现如下错误:

Error response from daemon: Get "https://index.docker.io/v1/search?q=sqlserver&n=25": dialing index.docker.io:443 container via direct connection because static system has no HTTPS proxy:


说明 Docker 守护进程无法连接到 Docker Hub(index.docker.io),通常是由于 网络连接问题 导致的,尤其是在中国大陆地区,由于网络环境限制,访问 Docker Hub 可能不稳定或被阻断。

解决方案

✅ 配置 Docker 镜像加速器

这是在中国大陆使用 Docker 最有效、最常用的方法。

步骤 1:获取镜像加速地址

您可以使用以下任意一个国内镜像加速服务:

镜像服务提供商

加速地址

阿里云(推荐)

https://<your-id>.mirror.aliyuncs.com

(需注册获取)

中科大

https://docker.mirrors.ustc.edu.cn

网易

https://hub-mirror.c.163.com

腾讯云

https://mirror.ccs.tencentyun.com

推荐使用 阿里云镜像加速器,稳定且免费,注册阿里云账号后在容器镜像服务控制台获取专属加速地址。

步骤 2:配置 Docker Desktop

  1. 打开 Docker Desktop
  2. 点击右上角的 ⚙️ Settings(设置)
  3. 进入 Docker Engine 选项卡;
  4. 在 JSON 配置中添加 "registry-mirrors" 字段,例如:
{
  "registry-mirrors": 
}

或使用阿里云加速器(替换为你的专属地址):

{
  "registry-mirrors": 
}
  1. 点击 Apply & Restart 保存并重启 Docker。

步骤 3:再次拉取镜像

docker pull mcr.microsoft.com/mssql/server:2017-latest

✅ 现在应该可以正常下载了。

二: 运行 SQL Server 容器

先创建本地目录如下,确保有访问权限

然后使用如下命令运行一个SQL Server容器实例。请记得替换Tanmeng#123为您自己的强密码,并确保满足SQL Server的密码复杂性要求。

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=Tanmeng#123" -p 1433:1433 -d -v /d/data/dockerData/sqlserver/data:/var/opt/mssql/data -v /d/data/dockerData/sqlserver/log:/var/opt/mssql/log -v /d/data/dockerData/sqlserver/secrets:/var/opt/mssql/secrets --name sqlserver  mcr.microsoft.com/mssql/server:2017-latest

这里的关键参数解释:

  • -e 'ACCEPT_EULA=Y': 表示接受SQL Server的最终用户许可协议。
  • -e 'MSSQL_SA_PASSWORD=Tanmeng#123': 设置系统管理员(sa)用户的密码。
  • -p 1433:1433: 将主机的1433端口映射到容器的1433端口(SQL Server默认监听端口)。
  • -v /d/data/dockerData/sqlserver/data:/var/opt/mssql/data :挂载容器内目录/var/opt/mssql/data到本地/d/data/dockerData/sqlserver/data目录。主要是为了数据持久化存储。/d/data 在windows系统为d:data 目录

注意大坑:不能直接写-v
/d/data/dockerData/sqlserver:/var/opt/mssql 一个挂载代替三个挂载,这样会多挂载出一个.system 的目录,导致容器在运行几十秒或几分钟后报权限不足而停止运行。

  • --name sqlserver: 给容器指定一个名称(这里命名为sqlserver)。
  • -d: 后台运行容器。
  • --restart=always: docker服务重启后容器能自动重启(我这次每加该参数,需要的可自行加上)。

三: 验证安装

要验证SQL Server是否已成功启动并在运行,可以使用以下命令查看正在运行的所有容器列表:

docker ps

你应该能看到名为sqlserverinstance的状态为“Up”的容器。

截屏如下:

命令两行截屏

dockerdesktopUI上截屏

通过以上步骤,您就可以在Docker环境中成功安装并运行SQL Server数据库了。接下来,您可以使用任何支持连接SQL Server的客户端工具(如SQL Server Management Studio, Azure Data Studio, visual studio code等)连接到您的SQL Server实例,开始管理数据库。默认情况下,您可以使用localhost作为服务器名进行连接。如果是在远程访问,则需要替换为实际的服务器IP地址。

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章