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.xdnf.cn/news/9671.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

ONLYOFFICE 快速部署教程:让你的私有云盘也可以预览和编辑 Office 文档

ONLYOFFICE Docs (原 ONLYOFFICE Document Server) 是一款强大的开源在线办公套件,包含用于文本、电子表格和演示文稿的查看器和编辑器,完全兼容 Office Open XML 格式(.docx、.xlsx、.pptx),并支持实时协作编辑。本文…

【ESP32】ESP-IDF开发 | 低功耗管理+RTC唤醒和按键唤醒例程

1. 简介 ESP32支持5种低功耗模式,低功耗管理单元包括调压器、功耗控制器、电源开关单元、电源域隔离单元 (Isolation Cell) 等部分。 1.1 RTC单元 RTC单元是ESP32低功耗管理的核心,可用于管理低功耗模式的进入和退出,控制时钟源、PLL、电源开…

SQLite的BLOB数据类型与C++二进制存储学习记录

一、BLOB数据类型简介 Blob(Binary Large Object)是一种用于存储二进制数据的数据类型,在数据库中常用于存储图片、音频和视频等大型(大数据量)的二进制数据[1-2]。需要注意的是,SQLite中BLOB类型的单对象最…

如何利用低代码平台进行创业?开启你的数字化转型之旅

在当今这个飞速发展的数字化时代,低代码开发已经成为企业加速业务流程、提升运营效率的关键手段之一。它不仅简化了软件开发过程,使得非技术人员也能参与到应用程序的构建中来,还为企业和个人提供了更加灵活、高效的创业路径。本文将探讨如何…

从0开始深度学习(28)——序列模型

序列模型是指一类特别设计来处理序列数据的神经网络模型。序列数据指的是数据中的每个元素都有先后顺序,比如时间序列数据(股票价格、天气变化等)、自然语言文本(句子中的单词顺序)、语音信号等。 1 统计工具 前面介绍…

Xcode无线真机调试

文章目录 Xcode无线真机调试前提条件无线真机调试 Xcode无线真机调试 前提条件 iPhone和Xcode连接在同一WIFI下;或 Xcode通过iPhone的IP地址进行连接;Xcode版本支持无线调试功能; 无线真机调试 首次使用,需要通过数据线连接MAC…

暴雨讲堂|AI算力芯片王者GPGPU是什么?

在AI飞速发展的这几年,市场上涌现一大批诸如DPU、NPU、TPU、IPU等“XPU”的新概念,是真的存在不同的架构,还是只是一些厂商营销出来的噱头?事实上,从CPU的发展角度来看,这些XPU都不是真正的处理器。相反&am…

行车记录打不开?原因分析与数据恢复全攻略

行车记录遭遇困境 行车记录仪,作为现代驾驶中的重要设备,不仅能够帮助我们记录行车过程,还能在关键时刻提供有力的证据。然而,当行车记录突然打不开时,这无疑给车主们带来了不小的困扰。行车记录打不开,可…

SpringMVC总结 我的学习笔记

SpringMVC总结 我的学习笔记 一、SpringMVC简介1.MVC2.SpringMVC概述3. SpringMVC中的核心组件4.SpringMVC核心架构流程 二、SpringMVC框架实例具体实现使用注解实现 四、数据处理及跳转1.结果跳转方式2.处理器方法的参数与返回值处理提交数据数据显示到前端 五、RestFul风格1.…

云计算基础1

声明 学习视频来自B站UP主泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 云计算基础概念 一、云计算的定义 云计算是一种资源交付和使用模式,指通过网络获得应用所需的…

Guava限流神器:RateLimiter使用指南

1. 引言 可能有些小伙伴听到“限流”这个词就觉得头大,感觉像是一个既复杂又枯燥的话题。别急,小黑今天就要用轻松易懂的方式,带咱们一探RateLimiter的究竟。 想象一下,当你去超市排队结账时,如果收银台开得越多&#…

被复线远传节点机JR-IPAM-1600

产品描述 JR-IPAM-1600J是一款被复线远传节点机,通过传统双绞线电缆(被复线\网线\对数电缆\矿用电缆等),用户就可以快速组成一个高速的传输网、局域网。它具有传输速率高、运行稳定、快速安装部署的特点,设备特有的AU…

【React】React 生命周期完全指南

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 React 生命周期完全指南一、生命周期概述二、生命周期的三个阶段2.1 挂载阶段&a…

自定义springCloudLoadbalancer简述

概述 目前后端用的基本都是springCloud体系; 平时在dev环境开发时,会把自己的本地服务也注册上去,但是这样的话,在客户端调用时请求可能会打到自己本地,对客户端测试不太友好. 思路大致就是前端在请求头传入指定ip&a…

Vue3-子传父

1. 主组件 App.vue(父组件) 在 App.vue 中,我们先引入了子组件 SonCom,这个小家伙将在父组件中出场。 接着,我们写了一个叫 getMessage 的函数。这个函数的任务很简单——接收子组件传来的消息,然后用 con…

vue--vueCLI

何为CLI ■ CLI是Command-Line Interface,俗称脚手架. ■ 使用Vue.js开发大型应用时,我们需要考虑代码目录结构、项目结构和部署、热加载、代码单元测试等事情。(vue 脚手架的作用), 而通过vue-cli即可:vue-cli 可以…

基于 JAVASSM(Java + Spring + Spring MVC + MyBatis)框架开发一个医院挂号系统

基于 JAVASSM(Java Spring Spring MVC MyBatis)框架开发一个医院挂号系统是一个实用的项目。 步骤一:需求分析 明确系统需要实现的功能,比如: 用户注册和登录查看医生列表预约挂号查看预约记录取消预约管理员管…

Golang--反射

1、概念 反射可以做什么? 反射可以在运行时动态获取变量的各种信息,比如变量的类型,类别等信息如果是结构体变量,还可以获取到结构体本身的信息(包括结构体的字段、方法)通过反射,可以修改变量的值,可以调用关联的方法…

计算机网络 TCP/IP体系 数据链路层

一. 数据链路层的基本概念 数据链路层主要负责节点之间的通信,确保从物理层接收到的数据能够准确无误地传输到网络层。 数据链路层使用的信道主要有以下两种类型: 点对点信道: 这种信道使用一对一的点对点通信方式。广播信道: 这种信道使用一对多的广播通信方式,…

使用注解装配Bean

!!!仅用作学习笔记记录!!! 一、一些概念: 1.定义Bean的注解: 在实际开发中分别使用Repository、Service与Controller对实现类进行标注。 2.注入Bean组件装配的注解 Autowired默认…