Docker 安装sql server 登陆失败

错误:

Sqlcmd: Error: Microsoft ODBC Driver 18 for SQL Server : SSL Provider: [error:0A000086:SSL routines::certificate verify failed:self-signed certificate]. Sqlcmd: Error: Microsoft ODBC Driver 18 for SQL Server : Client unable to establish connection. For solutions related to encryption errors, see https://go.microsoft.com/fwlink/?linkid=2226722

遇到这个错误通常是因为 SQL Server 客户端尝试与 SQL Server 建立安全连接时,无法验证服务器提供的证书。SQL Server 容器默认会生成一个自签名证书,而这个证书可能不会被客户端信任,导致连接失败。以下是几种解决方法:

方法 1: 禁用证书验证

对于开发或测试环境,你可以通过禁用证书验证来绕过这个问题。请注意,这种方法在生产环境中不推荐使用,因为它会降低安全性。

使用 sqlcmd 连接时禁用证书验证
sqlcmd -S localhost -U sa -P 'YourStrong!Passw0rd' -C

这里的 -C 参数告诉 sqlcmd 忽略证书验证错误。

方法 2: 使用自定义证书

为了提高安全性,你可以为 SQL Server 配置一个由受信任的 CA(证书颁发机构)签发的证书。

  1. 生成或获取证书

    • 你可以从一个受信任的 CA 获取证书,或者使用 OpenSSL 生成一个自签名证书。
  2. 将证书文件复制到 SQL Server 容器中

    • 使用 docker cp 命令将证书文件复制到容器中。
  3. 配置 SQL Server 使用该证书

    • 进入容器内部,使用 SQL Server 配置管理器或其他工具配置 SQL Server 使用新的证书。

方法 3: 信任自签名证书

如果你使用的是自签名证书,可以将其添加到客户端的信任证书列表中。

  1. 导出自签名证书

    • 从 SQL Server 容器中导出自签名证书。你可以进入容器并使用 openssl 工具导出证书。
  2. 将证书导入客户端的信任存储

    • 在 Windows 上,你可以使用 certmgr.msc 导入证书。
    • 在 Linux 上,你可以将证书添加到 /etc/ssl/certs 目录,并更新证书索引。

方法 4: 使用 mssql-conf 配置 SQL Server

如果你有权限访问 SQL Server 容器,可以使用 mssql-conf 工具来配置 SQL Server 的网络设置,包括证书。

  1. 进入容器

    docker exec -it sqlserver1 /bin/bash
  2. 运行 mssql-conf

    /opt/mssql/bin/mssql-conf set network.ssl 0

方法 5: 使用环境变量配置 SQL Server

你也可以在启动容器时通过环境变量来配置 SQL Server 使用特定的证书。

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=YourStrong!Passw0rd' \
   -e 'MSSQL_TLS_CERTIFICATE=/path/to/your/certificate.pem' \
   -e 'MSSQL_TLS_KEY=/path/to/your/privatekey.pem' \
   -p 1433:1433 --name sqlserver1 -d mcr.microsoft.com/mssql/server:2019-latest

这里的 MSSQL_TLS_CERTIFICATEMSSQL_TLS_KEY 环境变量指定了证书和私钥的路径。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/894653.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IDEA使用Alibaba Cloud Toolkit插件自动化部署jar包

一、下载插件 二、添加服务器主机 三、填写自己服务器配置 四、添加配置 五、配置说明 六、选择maven打包模块 七、maven打包后的jar包位置配一下 八、点击运行发现成功

sap abap 为何某字段不可以使用统计功能

查看是否字段错误了 以上图为例,wmeng 并不存在于 vbap表中, 而是存在于 vbep 表中,所以改成vbep表就可以成功了

Llama3-Factory模型部署新手指南

一、介绍 为了保持其公司在人工智能开源大模型领域的地位,社交巨头Meta推出了旗下最新开源模型。当地时间4月18日,Meta在官网上宣布公布了旗下最新大模型Llama 3。目前,Llama 3已经开放了80亿(8B)和700亿(…

谷歌-BERT-第四步:模型部署

1 需求 需求1:基于gradio实现大模型的WEB UI交互界面 2 接口 3 示例 import gradio as gr from transformers import *classifier pipeline("text-classification", model"./model", tokenizer"./model")gr.Interface.from_pipel…

个性化图像生成新SOTA!阿里开源MIP-Adapter,可将无需微调的IP-Adapter推广到同时合并多个参考图像。

今天给大家介绍阿里最近开源的个性化图像生成的新方法MIP-Adapter,将无需微调的预训练模型(IP-Adapter)推广到同时合并多个参考图像。MIP-Adapter会根据每个参考图像与目标对象的相关性来给这些图像分配不同的“重要性分数”。这样&#xff0…

借老系统重构我给jpa写了个mybatis风格的查询模块

因为公司老系统是用hibernate3开发的,重构自然过渡到使用Spring Data JPA。由于系统中对sql的使用方式还是手动为主,这就造成在service层存在大量的sql拼接方式,后续维护比较困难。 因为怀念以往项目对sql驱动的持久层开发用的mybatis的时光&…

HTB:Bashed[WriteUP]

目录 连接至HTB服务器并启动靶机 1.How many open TCP ports are listening on Bashed? 2.What is the relative path on the webserver to a folder that contains phpbash.php? 3.What user is the webserver running as on Bashed? 执行命令:whoami 4.S…

【前端】如何制作一个自己的网页(8)

以下内容接上文。 CSS的出现,使得网页的样式与内容分离开来。 HTML负责网页中有哪些内容,CSS负责以哪种样式来展现这些内容。因此,CSS必须和HTML协同工作,那么如何在HTML中引用CSS呢? CSS的引用方式有三种&#xff1…

构建后端为etcd的CoreDNS的容器集群(六)、编写自动维护域名记录的代码脚本

本文为系列测试文章,拟基于自签名证书认证的etcd容器来构建coredns域名解析系统。 一、前置文章 构建后端为etcd的CoreDNS的容器集群(一)、生成自签名证书 构建后端为etcd的CoreDNS的容器集群(二)、下载最新的etcd容…

Linux C接口编程入门之ioctl操作

ioctl函数用于系统调用操作特殊文件的底层设备参数。例如终端的许多操作特性可以用ioctl()请求来控制。不能用于read()、write()、open()、close()函数表示的I/O操作通常都能用ioctl表示。 fd参数为某个设备或文件已打开的文件描述符; request参数指定了将在fd上执…

大数据测试:Charles修改响应数据

上一篇大数据测试:Fiddler修改响应数据-CSDN博客 ,有同学反馈有没有Charles的方式修改响应数据,本篇就是Charles修改数据操作步骤,相比较fiddler,Charles相对简单,便捷,我很喜欢 1、背景&…

web网页---新浪网页面

代码&#xff1a; <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>新浪网</title> </head> <style>ul.menu > li{list-style: none; } …

DC系列靶机-DC6

一&#xff0c;环境的搭建 VM17 官网下载 kali 2023.4版 https://mirrors.tuna.tsinghua.edu.cn/kali-images/kali-2023.4/ 靶场文件 https://download.vulnhub.com/dc/DC-5.zip 二&#xff0c;攻略 首先进行主机发现&#xff1b; 接下来进行端口扫描&#xff1b; 开放了2…

手撕数据结构 —— 栈(C语言讲解)

目录 1.认识栈 什么是栈 栈的示意图 2.如何实现栈 3.栈的实现 Stack.h中接口总览 具体实现 结构的定义 初始化栈 销毁栈 入栈 出栈 取栈顶元素 获取有效元素的个数 判断栈是否为空 4.完整代码附录 Stack.h Stack.c 1.认识栈 什么是栈 栈是一种特殊的线性表…

CSS面试真题 part2

CSS面试真题 part2 11、css3新增了哪些新特性&#xff1f;12、css3动画有哪些&#xff1f;13、介绍一下grid网格布局14、说说flexbox&#xff08;弹性盒布局模型&#xff09;&#xff0c;以及使用场景&#xff1f;15、说说设备像素、css像素、设备独立像素、dpr、ppi之间的区别…

详解mac系统通过brew安装mongodb与使用

本文目录 一、通过brew安装MongoDB二、mongodb使用示例1、启动数据库2、创建/删除数据库3、创建/删除集合 三、MongoDB基本概念1&#xff09;数据库 (database)2&#xff09;集合 &#xff08;collection&#xff09;3) 文档&#xff08;document&#xff09;4&#xff09;mong…

WPFDeveloper正式版发布

WPFDeveloper WPFDeveloper一个基于WPF自定义高级控件的WPF开发人员UI库&#xff0c;它提供了众多的自定义控件。 该项目的创建者和主要维护者是现役微软MVP 闫驚鏵: https://github.com/yanjinhuagood 该项目还有众多的维护者&#xff0c;详情可以访问github上的README&…

快速创建一个vue项目并运行

前期准备工作: 1.安装node 2.安装npm 3.设置淘宝镜像 4.全局安装webpack 5.webpack 4.X 开始&#xff0c;需要安装 webpack-cli 依赖 6.全局安装vue-cli 正文开始: 1.创建项目 ,回车 vue init webpack vue-svg > Project name vue-demo 项目名称 回车 > Pro…

MySQL-事务Transaction详解

文章目录 事务概述事务基本概念事务四大特性(ACID)演示MySQL事务手动开启事务MySQL默认事务机制 事务的隔离级别隔离级别基本概述三种现象脏读不可重复读幻读 查看和设置隔离级别四种隔离级别及演示读未提交(read uncommitted)读提交(read committed)可重复读(repeatable read)…

【K8s】Kubernetes 词汇表

微思网络 厦门微思网络 K8S认证工程师&#xff08;CKA&#xff09;备考与学习指南https://mp.weixin.qq.com/s/XsEVpU7dKnJDBopynWW3GQ K8S-CKA课程试听:Container 概述 词汇表 此术语表旨在提供 Kubernetes 术语的完整、标准列表。其中包含特定于 Kubernetes 的技术术语以及…