本人最近买了腾讯云玩一玩。长期从事.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
然后,是静静的等待。在此,我假装是一个安静的美少女。耐心的美少女。
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。
踩坑 + 跳坑
总结
- 安装程序前,还是需要看看配置要求。
参考网址:
官网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):
有志者,事竟成,破釜沉舟,百二秦关终属楚; 苦心人,天不负,卧薪尝胆,三千越甲可吞吴。