当前位置: 首页 > article >正文

Docker 中部署 SQL Server

要在 Docker 中部署 SQL Server,可以使用微软提供的官方 Docker 映像。以下是一个部署 SQL Server 的基础步骤,包括拉取镜像、配置并启动容器的详细指南。

1. 准备工作

  • 确保 Docker 已安装并正在运行。
  • 检查你的系统是否有足够的资源,因为 SQL Server 需要大约 2GB 内存。

2. 拉取 SQL Server 官方 Docker 镜像

首先从 Docker Hub 拉取 SQL Server 的镜像:

docker pull mcr.microsoft.com/mssql/server:2022-latest
  • 这里 2022-latest 表示 SQL Server 2022 的最新版本;你可以根据需求选择特定的版本,例如 2019-latest

3. 运行 SQL Server 容器

运行 SQL Server 容器时,需设置环境变量来指定管理员密码以及其他配置。以下是一个示例:

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

参数说明:

  • -e ACCEPT_EULA=Y:接受 Microsoft 的 SQL Server 使用条款。
  • -e MSSQL_SA_PASSWORD=YourStrong!Passw0rd:设置 sa 用户的密码,要求密码必须符合复杂性(至少 8 个字符,包含大小写、数字及符号)。
  • -p 1433:1433:将容器的 1433 端口映射到主机的 1433 端口。
  • --name sql_server_container:设置容器名称为 sql_server_container
  • -d:让容器在后台运行。

4. 验证容器是否启动成功

检查 SQL Server 容器是否启动:

docker ps -a

如果容器状态为 Up,则表示成功启动。否则可以查看日志:

docker logs sql_server_container

5. 连接到 SQL Server

你可以使用 SQL Server Management Studio (SSMS)、Azure Data Studio 或 sqlcmd 工具来连接到数据库。默认连接信息如下:

  • 服务器地址localhost,1433(或 127.0.0.1,1433
  • 用户名sa
  • 密码:在第 3 步中指定的 MSSQL_SA_PASSWORD

使用 sqlcmd 工具连接的示例如下:

docker exec -it sql_server_container /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "YourStrong!Passw0rd"

6. 数据持久化(可选)

为了确保数据库数据在容器停止或删除后不会丢失,可以使用挂载卷的方式持久化数据。

docker run -e "ACCEPT_EULA=Y" \
           -e "MSSQL_SA_PASSWORD=YourStrong!Passw0rd" \
           -p 1433:1433 \
           --name sql_server_container \
           -v sql_data:/var/opt/mssql \
           -d mcr.microsoft.com/mssql/server:2022-latest
  • -v sql_data:/var/opt/mssql:将 SQL Server 数据库文件挂载到主机的 sql_data 目录中。

7. 停止和启动容器

停止 SQL Server 容器:

docker stop sql_server_container

再次启动 SQL Server 容器:

docker start sql_server_container

8. 删除容器和数据卷(可选)

如果不再需要,可以删除容器和数据卷。

docker rm sql_server_container
docker volume rm sql_data

以上步骤将帮助你通过 Docker 部署 SQL Server,并让其运行在独立的容器环境中。


http://www.kler.cn/a/387018.html

相关文章:

  • 微信小程序的主体文件和页面文件介绍
  • 如何进行产线高阶能耗数据的计算和可视化?
  • Docker compose部署portainer
  • SpringCloud学习笔记
  • ubuntu中apt-get的默认安装路径。安装、卸载以及查看的方法总结
  • ubuntu20.04安装FLIR灰点相机BFS-PGE-16S2C-CS的ROS驱动
  • OSPF(Open Shortest Path First,开放式最短路径优先)动态路由介绍
  • 分析Element Plus UI 中 mt-x 类的基本知识
  • Axure设计之三级联动选择器教程(中继器)
  • [网络架构设计师论文] ‌论企业云数据中心安全防范技术
  • 【linux】再谈网络基础(二)
  • 使用EasyExcel实现excel导入
  • 31.7K+ Star!AgentGPT:一个在浏览器中运行的Agent
  • 全排列(DFS)
  • 【MIT-OS6.S081笔记1】Chapter1阅读摘要:Operating system interfaces
  • Spring Boot的过滤器与拦截器的区别
  • 【C++ 滑动窗口】2134. 最少交换次数来组合所有的 1 II
  • Anaconda安装和环境配置教程(2024年11月9日)
  • Kafka 之事务消息
  • GJ Round (2024.10) Round 8~21
  • 鸿蒙多线程开发——Worker多线程
  • 安全见闻(网络安全篇)
  • Python爬虫如何处理验证码与登录
  • Python练习15
  • Qt 无法获取调试输出
  • SpringBoot助力的共享汽车业务优化系统