本人最近买了腾讯云玩一玩。长期从事.net ,所以自然会安装SQL Server。原以为,安装不过是按部就班,没想到着实艰难了一把。在docker 容器内安装? 直接安装SQL server?废话不多说,上环境。

环境

腾讯云:1核,2GB ,带宽1M,系统盘50G。操作系统 : CentOS 8 。

已安装:Docker (其实发现8里不安装docker 也无所谓,因为里面已经带了podman,语法与docker一致,此为后话)。

常规安装步骤

方法一:Docker 安装 SQL Server

Docker 容器可运行2017 或2019版 的SQL Server 。这里以安装SQL Server 2019为例。

先决条件

Docker 引擎1.8 + ,2GB 磁盘空间,2GB RAM

安装步骤:

  1. 从 Microsoft 容器注册表中拉取 SQL Server 2019 Linux 容器映像。

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

然后,是静静的等待。在此,我假装是一个安静的美少女。耐心的美少女。

sql server select into 内存优化表 sql server2019内存_SQL

    2. 运行容器。

sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<YourStrong@Passw0rd>" \
   -p 1433:1433 --name sql1 -h sql1 \
   -d mcr.microsoft.com/mssql/server:2019-latest

 以上,是官网的例子。

下面,是各个参数的意义。

参数

说明

个人理解

-e "ACCEPT_EULA=Y"

ACCEPT_EULA 变量设置为任意值,以确认接受 最终用户许可协议。 SQL Server 映像的必需设置。

同意就对了。不同意,安装程序一定不愿意带我飞。

-e "SA_PASSWORD=<YourStrong@Passw0rd>"

指定至少包含 8 个字符且符合 SQL Server 密码要求的强密码。 SQL Server 映像的必需设置。

 

-p 1433:1433

将主机环境中的 TCP 端口(第一个值)映射到容器中的 TCP 端口(第二个值)。 在此示例中,SQL Server 侦听容器中的 TCP 1433,并对主机上的端口 1433 公开。

第一个1433:主机占用了它

第二个1433:在容器中,我们访问它。如果要远程链接SQL Server,情访问这个端口。

--name sql1

为容器指定一个自定义名称,而不是使用随机生成的名称。 如果运行多个容器,则无法重复使用相同的名称。

起名什么的最麻烦了。叫什么的李狗蛋?还是哪吒?

反正,不能重名。

当然,不起名也可以,它会随机生成

-h sql1

用于显式设置容器主机名,如果不指定它,则默认为容器 ID,该 ID 是随机生成的系统 GUID。

起名什么的,最麻烦了……

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

SQL Server 2019 Ubuntu Linux 容器映像。

 

 

当然,还有其他参数:

参数

说明

个人理解

-itd

it 交互式tty,用系统 terminal

d detach mode, 后台进程

大多数情况下,我会选择让它后台运行。

由于不影响安装,就不赘述了

--memory 2000M

SQL Server 的容器内存运行时,内存要>= 2000MB,要指定运行时内存。否则容器已启动就退出,且不报任何异常

 

-v /home/lyj/mssqldata1:/var/opt/mssql

将宿主机目录挂载到容器里

与实际的安装相关,暂不赘述

注意事项

密码复杂度要符合要求:长度至少8位,有大写字母,有小写字母,包含数字、包含特殊字符

--memory 2000M 容器的运行内存要>= 2000M,也就是2GB。据说,默认情况下,容器内运行的最大内存为1GB(没有亲自验证)。

本人写了这句话,还是运行失败。是主机的2GB小于2000M,还是Docker 容器也要求双核。

3.查看Docker 容器

sudo docker ps -a

 

方法二: Linux 安装SQL Server

Linux 可以按照2017或2019版的SQL Server。

踩坑 + 跳坑

总结

  1. 安装程序前,还是需要看看配置要求。

参考网址:

官网Sql Server 安装指南:https://docs.microsoft.com/zh-cn/sql/database-engine/install-windows/install-sql-server?view=sql-server-ver15

官网:SQL Server Docker 故障排除:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-docker-container-troubleshooting?view=sql-server-ver15&pivots=cs1-bash

docker 安装sqlserver + 踩坑(docker 无法运行sqlserver 容器:http://www.bubuko.com/infodetail-3688721.html

docker 查看容器的运行位置,以及所在位置:

SQL Server 安装:https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-linux-ver15

linux安装sqlserver(1核,2GB):

有志者,事竟成,破釜沉舟,百二秦关终属楚; 苦心人,天不负,卧薪尝胆,三千越甲可吞吴。