ubuntu

Ubuntu SQL Server容器化部署

小樊
33
2025-10-07 15:20:15
栏目: 云计算

Ubuntu上SQL Server容器化部署指南

一、前提条件

  1. 安装Docker Engine
    在Ubuntu系统上部署SQL Server容器前,需先安装Docker。通过以下命令完成安装:
    sudo apt update
    sudo apt install -y docker.io
    sudo systemctl start docker  # 启动Docker服务
    sudo systemctl enable docker # 设置开机自启
    
  2. 硬件要求
    SQL Server容器需满足最低资源需求:至少2GB内存、2GB磁盘空间(生产环境建议更高配置)。

二、部署SQL Server容器

  1. 拉取SQL Server镜像
    从Microsoft Docker Hub拉取官方SQL Server镜像(以2022版本为例):

    sudo docker pull mcr.microsoft.com/mssql/server:2022-latest
    
  2. 运行SQL Server容器
    使用docker run命令启动容器,需配置以下关键参数:

    • ACCEPT_EULA=Y:接受SQL Server许可协议(必填);
    • SA_PASSWORD:设置SA管理员密码(需符合SQL Server复杂度要求,如包含大小写字母、数字和特殊字符);
    • -p 1433:1433:将主机1433端口映射到容器1433端口(SQL Server默认端口);
    • --name:指定容器名称(如sqlserver);
    • -d:以分离模式运行容器。
      示例命令:
    sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=YourStrong@Passw0rd' \
    -p 1433:1433 --name sqlserver -d mcr.microsoft.com/mssql/server:2022-latest
    
  3. 数据持久化(可选但推荐)
    为避免容器删除导致数据丢失,可将容器内SQL Server数据目录(/var/opt/mssql)挂载到主机本地目录:

    sudo mkdir -p /your/local/path  # 主机本地目录
    sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=YourStrong@Passw0rd' \
    -p 1433:1433 -v /your/local/path:/var/opt/mssql --name sqlserver -d mcr.microsoft.com/mssql/server:2022-latest
    

三、验证部署

  1. 检查容器状态
    运行以下命令确认容器是否正常运行:

    sudo docker ps
    

    若容器状态为“Up”,则表示部署成功。

  2. 连接SQL Server
    可通过以下两种方式连接:

    • 使用sqlcmd工具(容器内)
      进入容器并执行sqlcmd命令:
      sudo docker exec -it sqlserver /bin/bash
      /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "YourStrong@Passw0rd"
      
      成功连接后会显示1>提示符,表示进入SQL命令行模式。
    • 使用客户端工具(如SSMS)
      在主机或其他机器上打开SQL Server Management Studio(SSMS),输入连接信息:
      • Server:localhost,1433(若主机IP为远程地址,需替换为对应IP);
      • Authentication:SQL Server Authentication
      • Login:sa
      • Password:YourStrong@Passw0rd

四、后续配置(可选)

  1. 启用SQL Server代理
    若需使用SQL Server代理(如作业调度、警报),需执行以下命令启用并重启服务:

    sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
    sudo systemctl restart mssql-server
    
  2. 修改SA密码
    若需更改SA密码,可通过sqlcmd登录后执行ALTER LOGIN命令:

    sudo docker exec -it sqlserver /bin/bash
    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "OldPassword" \
    -Q "ALTER LOGIN SA WITH PASSWORD='NewStrong@Passw0rd';"
    

注意事项

0
看了该问题的人还看了