Sql Server在Linux中使用docker版镜像
拉取官方镜像
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
注意:官方镜像默认是开发者模式,如需用于生产请查看官方文档1
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