Docker快速安装SQL Server 2022

说明:

  • 系统:Ubuntu 24.04 LTS

拉取SQL Server Docker镜像

docker pull mcr.microsoft.com/mssql/server:2022-CU12-ubuntu-22.04

创建数据目录

sudo mkdir /var/mssql_data
sudo chmod 777 /var/mssql_data

说明:

  • 权限设置为777(所有用户可读、写、执行)。虽然这确保了Docker容器中的SQL Server有权访问该目录,但从安全角度来看,这种权限设置过于宽松。建议使用更严格的权限,比如770,并确保目录所有者和组设置正确。

运行Docker容器

docker run --name=sqlserver -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=123456MM#' -e 'MSSQL_PID=J4V48-P8MM4-9N3J9-HD97X-DYMRM' -p 1433:1433 -v /var/mssql_data:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2022-CU12-ubuntu-22.04

说明:

  • ‘ACCEPT_EULA=Y’:接受SQL Server的最终用户许可协议(EULA)。
  • ‘MSSQL_SA_PASSWORD=123456MM#’:设置SQL Server的系统管理员(SA)账号密码。注意:使用强密码并避免在公共场合暴露。
  • ‘MSSQL_PID=J4V48-P8MM4-9N3J9-HD97X-DYMRM’:指定SQL Server的产品密钥ID。
  • /var/mssql_data:/var/opt/mssql:将宿主机的/var/mssql_data目录挂载到容器内的/var/opt/mssql目录。

连接测试

首先确定系统防火墙开放了1433端口

在这里插入图片描述

连接完成后,使用一个简单的SQL脚本,用于创建一个数据库和一个示例表,并插入一些数据,最后查询数据

-- 创建数据库
CREATE DATABASE TestDB;

-- 切换到新创建的数据库
USE TestDB;

-- 创建表
CREATE TABLE Employees (
    EmployeeID INT PRIMARY KEY IDENTITY(1,1),
    FirstName NVARCHAR(50) NOT NULL,
    LastName NVARCHAR(50) NOT NULL,
    BirthDate DATE,
    HireDate DATE,
    JobTitle NVARCHAR(50)
);

-- 插入数据
INSERT INTO Employees (FirstName, LastName, BirthDate, HireDate, JobTitle)
VALUES 
('John', 'Doe', '1980-01-01', '2005-05-15', 'Software Engineer'),
('Jane', 'Smith', '1985-02-20', '2010-08-01', 'Project Manager'),
('Michael', 'Johnson', '1990-03-15', '2015-12-01', 'Business Analyst');

-- 查询数据
SELECT * FROM Employees;

测试过程中如果出现如下错误,一种解决方法就是重启了一下容器

The connection is broken and recovery is not possible. The connection is marked by the client driver as unrecoverable. No attempt was made to restore the connection.

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值