NET5 在docker容器中连接SQL SERVER出错的解决方法

# 背景说明

最近用NET5开发了一个小程序,连接SQL SERVER数据库,并查询一些数据,具体的功能不重要。开发时,测试用的自己的SQL SERVER2019测试,运行正常后,就进行打包发布了。然后丢给同事去部署,起初的部署也很顺利,但是后面开始出现了问题,数据库无法连接。

# 错误情况和排查过程

docker 镜像打包用的基础镜像是mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim,是微软官方的镜像,容器在运行时,刚开始的错误是 A connection was successfully established with the server, but then an error occurred during the pre-login handshake.(provider:TCP Provider,error:35),看错误提示,是协议协商过程中的握手出错了,于是先百度了一圈,得到大概的结果应该是TLS协议的版本问题,NET5中的SqlClient使用了TLSv1.2来连接数据库,而早期的SQL SERVER使用的是TLSv1.0协议,导致了连接出现错误。

根据大神的提示,将容器中 /etc/ssl/openssl.conf文件中的TLSv1.2改为TLSv1.0,SECLEVEL改为1,程序依然无法正常连接SQL SERVER数据库,但是提示的内容发生了变化,错误内容如下:A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: SSL Provider, error: 31 - Encryption

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 当在docker容器使用code-server插件时,可能会遇到无法持久化的问题。这可能是由于容器的后台运行导致的,因为docker容器使用后台运行时,必须有一个前台进程,否则docker会停止容器的运行。\[1\]另外,还有可能是由于缺少程序或服务导致的,比如nigix容器启动后发现自己没有提供服务,即没有程序可运行。\[1\] 为了解决这个问题,你可以参考以下步骤: 1. 确保你的容器有一个前台进程运行,以保持容器的持续运行。 2. 检查你的容器是否安装了code-server插件,并确保它已正确配置和启动。 3. 如果你使用的是docker-compose,可以参考提供的链接\[2\],按照指南进行配置和运行。 4. 如果问题仍然存在,你可以尝试卸载并重新安装docker,以确保docker环境的完整性。可以使用以下命令卸载docker:sudo yum remove docker-ce docker-ce-cli containerd.io,并删除相关的文件:sudo rm -rf /var/lib/docker和sudo rm -rf /var/lib/containerd。\[3\] 5. 最后,你还可以尝试使用阿里云镜像加速来提高docker容器的下载速度和稳定性。 希望以上解决方案能帮助你解决docker容器code-server插件无法持久化的问题。 #### 引用[.reference_title] - *1* *3* [docker / docker-compose 使用说明[笔记]](https://blog.csdn.net/qq_15267283/article/details/121384895)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [运维(15) docker-compose部署Sentinel持久化配置到MySQL](https://blog.csdn.net/qq_38225558/article/details/120593746)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值