Bootstrap

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

注意:官方镜像默认是开发者模式,如需用于生产请查看官方文档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

  1. 官方文档地址 ↩︎

;