docker部署sqlserver过程记录

server/2024/12/22 1:19:45/

目录

前言

一、基础概念

二、过程步骤

docker%E6%93%8D%E4%BD%9C-toc" style="margin-left:40px;">1.docker操作

2.问题及解决

总结


前言

最近接触到了NL2SQL,有个相对比较适合自己的开源项目,就说看下。忽然发现自己电脑都没安装个数据库。那就安装一个吧,自从有了docker,能docker安装,那就不直接安装到电脑上了,环境会很乱,而且不如docker方便管理

于是,开启了docker部署sqlserver之旅~


一、基础概念

docker:轻量级的容器管理工具,和虚拟机类似,但是比虚拟机轻了很多

sqlserver:微软家族的数据库服务

二、过程步骤

docker%E6%93%8D%E4%BD%9C">1.docker操作

拉取sqlserver镜像,具体sqlserver版本根据自己的需要选择即可,应该是2017及以上版本才支持了docker容器部署

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

运行sqlser容器

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=sa密码" -p 1433:1433 --name mssqlserver-2019 -v E:\DockerData\mssql:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2019-latest

相关参数做下解释:

-e "ACCEPT_EULA=Y":同意相关安装协议,必需

-e "MSSQL_SA_PASSWORD=sa密码":设置sa的登录密码

-p 1433:1433:设置端口映射

-v E:\DockerData\mssql:/var/opt/mssql:设置路径映射,实现数据的持久化,否则容器停了以后数据库文件就丢了

2.问题及解决

执行如上命令,一开始看容器是启动了,端口映射信息在docker desktop也看到了,结果很快容器变灰了(启动失败),docker logs 容器名称,报错如下:

This program has encountered a fatal error and cannot continue running at Mon Apr 15 03:30:57 2024
The following diagnostic information is available:Reason: 0x00000006Message: Termination of \SystemRoot\system32\AppLoader.exe was due to fatal error 0xC0000001Address: 0x3fffb588a1cfStack Trace:file://package4/windows/system32/sqlpal.dll+0x000000000000E7CFfile://package4/windows/system32/sqlpal.dll+0x000000000000BA99file://package4/windows/system32/sqlpal.dll+0x000000000008A432file://package4/windows/system32/sqlpal.dll+0x000000000008A1CFfile://package4/windows/system32/sqlpal.dll+0x00000000000885D8file://package4/windows/system32/sqlpal.dll+0x0000000000003D1Ffile://package4/windows/system32/sqlpal.dll+0x0000000000205568file:///windows/system32/AppLoader.exe+0x000000000000371Ffile:///windows/system32/AppLoader.exe+0x0000000000003869file:///windows/system32/AppLoader.exe+0x0000000000003889file:///windows/system32/AppLoader.exe+0x000000000000A8E8file:///Windows/SYSTEM32/KERNEL32.DLL+0x0000000000014414file:///windows/system32/ntdll.dll+0x0000000000075541Modules:file://package4/windows/system32/sqlpal.dll=DDAF496DC6C5824FD011F6F3B5BA15F01file:///windows/system32/AppLoader.exe=71025FF72BB4A78E6487F0EED40B02561file:///Windows/SYSTEM32/KERNEL32.DLL=C715300FB2664729A6126A3F591E6F302file:///windows/system32/ntdll.dll=45137AA3F9814512B3123991067EEE6E2Process: 8 - sqlservrThread: 39 (application thread 0x78)Instance Id: a0185509-4b50-4f25-969b-22a4caedbcedCrash Id: 503973a6-bbeb-4013-987a-05927efd01cdBuild stamp: 5a0761fb39e7c8e4bfc101a82ddf31307102bb6e23a5345ee2033874d57334afDistribution: Ubuntu 20.04.6 LTSProcessors: 20Total Memory: 16593043456 bytesTimestamp: Mon Apr 15 03:30:57 2024

猜测:看错误信息,有permission dined相关字样,难道是权限不足?

行动:看了下映射的本地路径其实已经有写入文件,不过还是试着以管理员权限重新执行命令,不过还是不行

找AI:问了半天AI也搞不懂啥情况

猜测:难道是2019的镜像有问题?

行动:下载2022版本,重复如上操作,结果一样的报错

找度娘:看到一篇写docker部署sqlserver的,人家在上面设置路径映射的时候设置了3个路径映射,分别给mssql下data、log、secrets设置路径映射

行动:那就这么试试吧,果然可以了。而且,我试着只添加data路径映射也是可以的


总结

这个操作其实挺简单,就是有时候需要避个坑。


http://www.ppmy.cn/server/1718.html

相关文章

MindOpt APL向量化建模语法的介绍与应用(2)

前言 在数据科学、工程优化和其他科学计算领域中,向量和矩阵的运算是核心组成部分。MAPL作为一种数学规划语言,为这些领域的专业人员提供了强大的工具,通过向量式和矩阵式变量声明以及丰富的内置数学运算支持,大大简化了数学建模…

Oracle——领先的企业级数据库解决方案

一、WHAT IS ORACLWE: ORACLE 数据库系统是美国 ORACLE 公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S 体系结构的数据库之一,ORACLE 通常应用于大型系统的数…

ABAP 提示框 汇总

文章目录 前言 1.POPUP_TO_DISPLAY_TEXT 2.POPUP_TO_CONFIRM 3.G_DISPLAY_SELECTION_DYNPRO 4.REUSE_ALV_POPUP_TO_SELECT 5.POPUP_TO_DECIDE_LIST 6.POPUP_WITH_TABLE_DISPLAY_OK 7.BKK_POPUP_DISPLAY_LIST 8. POPUP_TO_CONFIRM_WITH_MESSAGE 9.POPUP_TO_CONFIRM 1…

量子时代加密安全与区块链应用的未来

量子时代加密安全与区块链应用的未来 现代密码学仍然是一门相对年轻的学科,但其历史却显示了一种重要的模式。大多数的发展都是基于几年甚至几十年前的研究。而这种缓慢的发展速度也是有原因的,就像药物和疫苗在进入市场之前需要经过多年的严格测试一样&…

医学图像三维重建与可视化系统 医学图像分割 区域增长

医学图像的三维重建与可视化,这是一个非常有趣且具有挑战性的课题!在这样的项目中,可以探索不同的医学图像技术,比如MRI、CT扫描等,然后利用这些图像数据进行三维重建,并将其可视化以供医生或研究人员使用。…

何时使用 GraphQL、gRPC 和 REST?

构建 API 是现代工程中开发人员的最重要任务之一。这些 API 允许不同的系统进行通信和数据交换。虽然 REST 多年来一直是实现 API 的事实标准,但今天也有新兴的标准,如 gRPC 和 GraphQL。 什么是 API? “应用程序编程接口”(API&a…

[spring] Spring Boot REST API - 项目实现

Spring Boot REST API - 项目实现 书接上文 Spring Boot REST API - CRUD 操作,一些和数据库相关联的注解在 [spring] spring jpa - hibernate CRUD 主要的 layer 如下: #mermaid-svg-QE1PR1gyrkz4XIT0 {font-family:"trebuchet ms",verdana…

Spring Cloud学习笔记:Eureka集群搭建样例

这是本人学习的总结,主要学习资料如下 - 马士兵教育 1、项目架构2、Dependency3、项目启动类4、application.yml5、启动项目 1、项目架构 因为这是单机模拟集群搭建,为了方便管理就都放在了一个项目中。这次准备搭建三个项目server1, server2, server3 …