Linux如何使用docker方式搭建SQL Server
作者:糙汉345
这篇文章主要介绍了Linux如何使用docker方式搭建SQL Server问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
拉取官方镜像
docker pull mcr.microsoft.com/mssql/server:2019-latest
生成容器并运行
docker run --name=容器标识 -e 'ACCEPT_EULAY=Y' -e 'SA_PASSWORD=sa用户密码' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest
注意:
- 官方镜像默认是开发者模式
- 如需用于生产请查看官方文档
Enviroment指令说明
指令参数 | 说明 |
---|---|
ACCEPT_EULAY=Y | 此项为必须设置项,将ACCEPT_EULA设置为Y,表示您确认接受最终用户许可协议 |
SA_PASSWORD=<YourStrong@Password> | 指定sa用户的强密码,该密码应至少包含8个字符,并符合SQL Server密码要求 |
MSSQL_PID=<Enterprise> | 如果在生产环境中使用,则需配置此项,通过此变量指定有效的生产许可证 |
Docker-compose编排启动
version: "3.1" services: mesDatabase: image: "mcr.microsoft.com/mssql/server:2019-latest" container_name: 容器名称 user: mssql restart: always volumes: - ./volume:/var/opt/mssql:rw ports: - "1433:1433" environment: - ACCEPT_EULA=Y - SA_PASSWORD=您的强密码 - MSSQL_PID=有效的生产许可
开启SQL Server代理
- 终端命令方式
docker exec -it -u root <容器名称> bash # 以root身份进入容器 /opt/opt/mssql/bin/mssql-conf set sqlagent.enabled true
- 配置文件方式
在mssql.conf(如果没有则创建,映射的容器路径/var/opt/mssql/mssql.conf)中配置如下:
[sqlagent] enabled = true
配置高可用AlwaysOn
- 终端命令方式
docker exec -it -u root <容器名称> bash # 以root身份进入容器 /opt/opt/mssql/bin/mssql-conf set hadr.hadrenabled 1
- 配置文件方式
在mssql.conf(如果没有则创建,映射的容器路径/var/opt/mssql/mssql.conf)中配置如下:
[hadr] hadrenabled = 1
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。