Docker 安装 sqlserver

Docker 安装 sqlserver

官网地址 https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads

#创建主机映射目录
mkdir -p /docker_volume/sqlserver

#修改主机映射目录权限
chown -R 10001:0 /docker_volume/sqlserver
#否则会报以下错误
# /opt/mssql/bin/sqlservr: Error: Directory /var/opt/mssql/system/] could not be created.  Errno [13]


docker run --name sql1 --hostname sql1 \
    -e 'ACCEPT_EULA=Y' \
    -e 'MSSQL_PID=<产品序列号>' \
    -e 'SA_PASSWORD=<SA密码>' \
    -v /docker_volume/sqlserver:/var/opt/mssql \
    -p 1433:1433 \
    -d mcr.microsoft.com/mssql/server:2022-latest
    
    
#产品序列号
Enterprise:HMWJ3-KY3J2-NMVD7-KG4JR-X2G8G
Strandard:PMBDC-FXVM3-T777P-N4FY8-PKFF4


#连接到SqlServer
docker exec -it sql1 "bash"

#在容器内部使用 sqlcmd 进行本地连接。 默认情况下,sqlcmd 不在路径之中,因此需要指定完整路径。
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"

#如果成功,应会显示 sqlcmd 命令提示符:1>

#在 sqlcmd 命令提示符中,粘贴以下 Transact-SQL 命令以创建测试数据库:

CREATE DATABASE TestDB  GO

注释:如果遇到中文乱码???的问题,执行以下脚本更新排序为中文

ALTER DATABASE TestDB COLLATE Chinese_PRC_CI_AS GO 

#查询以返回服务器上所有数据库的名称
SELECT Name from sys.Databases GO
参数说明
-e “ACCEPT_EULA=Y”ACCEPT_EULA 变量设置为任意值,以确认接受最终用户许可协议。 SQL Server 映像的必需设置。
-e “MSSQL_SA_PASSWORD=YourStrong@Passw0rd指定至少包含 8 个字符且符合密码策略的强密码。 SQL Server 映像的必需设置。
-e “MSSQL_COLLATION=<*SQL_Server_collation*>”指定自定义 SQL Server 排序规则,而不使用默认值 SQL_Latin1_General_CP1_CI_AS
-p 1433:1433将主机环境中的 TCP 端口(第一个值)映射到容器中的 TCP 端口(第二个值)。 在此示例中,SQL Server 侦听容器中的 TCP 1433,此容器端口随后会对主机上的 TCP 端口 1433 公开。
–name sql1为容器指定一个自定义名称,而不是使用随机生成的名称。 如果运行多个容器,则无法重复使用相同的名称。
–hostname sql1用于显式设置容器主机名。 如果未指定主机名,则主机名默认为容器 ID,这是随机生成的系统 GUID。
-d在后台运行容器(守护程序)。
mcr.microsoft.com/mssql/server:2022-latestSQL Server Linux 容器映像。

密码复杂性

https://learn.microsoft.com/zh-cn/sql/relational-databases/security/password-policy?view=sql-server-linux-ver16

密码复杂性策略通过增加可能密码的数量来阻止强力攻击。 实施密码复杂性策略时,新密码必须符合以下原则:

  • 密码不得包含用户的帐户名。
  • 密码长度至少为八个字符。
  • 密码包含以下四类字符中的三类:
    • 拉丁文大写字母 (A - Z)
    • 拉丁文小写字母 (a - z)
    • 10 位基本数字 (0-9)
    • 非字母数字字符,如感叹号 (!)、美元符号 ($)、数字符号 (#) 或百分号 (%)。

密码可最长为 128 个字符。 使用的密码应尽可能长,尽可能复杂。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值