当前位置: 代码网 > it编程>数据库>MsSqlserver > docker部署sqlserver过程记录

docker部署sqlserver过程记录

2024年08月02日 MsSqlserver 我要评论
文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言最近接触到了NL2SQL,有个相对比较适合自己的开源项目,就说看下。忽然发现自己电脑都没安装个数据库。那就安装一个吧,自从有了docker,能docker安装,那就不直接安装到电脑上了,环境会很乱,而且不如docker方便管理于是,开启了docker部署sqlserver之旅~一、基础概念docker:轻量级的容器管理工具,和虚拟机类似,但是比虚拟机轻了很多

目录

前言

一、基础概念

二、过程步骤

1.docker操作

2.问题及解决

总结


前言

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

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


一、基础概念

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

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

二、过程步骤

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: 0x00000006
        message: termination of \systemroot\system32\apploader.exe was due to fatal error 0xc0000001
        address: 0x3fffb588a1cf
    stack trace:
                 file://package4/windows/system32/sqlpal.dll+0x000000000000e7cf
                 file://package4/windows/system32/sqlpal.dll+0x000000000000ba99
                 file://package4/windows/system32/sqlpal.dll+0x000000000008a432
                 file://package4/windows/system32/sqlpal.dll+0x000000000008a1cf
                 file://package4/windows/system32/sqlpal.dll+0x00000000000885d8
                 file://package4/windows/system32/sqlpal.dll+0x0000000000003d1f
                 file://package4/windows/system32/sqlpal.dll+0x0000000000205568
                 file:///windows/system32/apploader.exe+0x000000000000371f
                 file:///windows/system32/apploader.exe+0x0000000000003869
                 file:///windows/system32/apploader.exe+0x0000000000003889
                 file:///windows/system32/apploader.exe+0x000000000000a8e8
                 file:///windows/system32/kernel32.dll+0x0000000000014414
                 file:///windows/system32/ntdll.dll+0x0000000000075541
        modules:
                 file://package4/windows/system32/sqlpal.dll=ddaf496dc6c5824fd011f6f3b5ba15f01
                 file:///windows/system32/apploader.exe=71025ff72bb4a78e6487f0eed40b02561
                 file:///windows/system32/kernel32.dll=c715300fb2664729a6126a3f591e6f302
                 file:///windows/system32/ntdll.dll=45137aa3f9814512b3123991067eee6e2
        process: 8 - sqlservr
         thread: 39 (application thread 0x78)
    instance id: a0185509-4b50-4f25-969b-22a4caedbced
       crash id: 503973a6-bbeb-4013-987a-05927efd01cd
    build stamp: 5a0761fb39e7c8e4bfc101a82ddf31307102bb6e23a5345ee2033874d57334af
   distribution: ubuntu 20.04.6 lts
     processors: 20
   total memory: 16593043456 bytes
      timestamp: mon apr 15 03:30:57 2024

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

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

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

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

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

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

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


总结

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

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com