docker 安装sqlserver数据库并开启代理(保姆级)

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: docker 安装sqlserver数据库并开启代理(保姆级)

-目录-

一、安装docker

二、安装sqlserver数据库

2.1 从 Microsoft 容器注册表中请求 SQL Server 2022 (16.x) Linux 容器映像。

2.2 要使用 Docker 运行 Linux 容器映像,可以从 Bash Shell 或提升的 PowerShell 命令提示符使用以下命令

2.3 要查看 Docker 容器,请使用 docker ps 命令。

2.4 如果 STATUS 列显示 Up 状态,则 SQL Server 正在容器中运行,并且在侦听 PORTS 列中指定的端口。

2.5 最后一步,更改 SA 密码,因为 MSSQL_SA_PASSWORD 在 ps -eax 输出中可见,并存储在同名的环境变量中。 请参阅以下步骤

三、连接到sqlserver数据库

3.1 使用 docker exec -it 命令在运行的容器内部启动交互式 Bash Shell。 在下面的示例中,sql1 是在创建容器时由 --name 参数指定的名称。

3.2 在容器内部使用完整路径通过 sqlcmd 进行本地连接。

3.3 如果成功,应会显示 sqlcmd 命令提示符:1>。

四、开启sqlserver数据库代理

4.1 进入容器

4.2 提升权限

4.3 安装sudo

4.4 第二种方式:使用root用户进入容器

4.5 执行开启命令

4.6 重启sqlserver

一、安装docker

任何受支持的 Linux 发行版上的 Docker 引擎 1.8 及更高版本。 有关详细信息,请参阅 Install Docker(安装 Docker)。


二、安装sqlserver数据库

2.1 从 Microsoft 容器注册表中请求 SQL Server 2022 (16.x) Linux 容器映像。

sudo docker pull mcr.microsoft.com/mssql/server:2022-latest

1.前一个命令请求最新的 SQL Server 2022 (16.x) Linux 容器映像。 如果想请求某个特定映像,需添加一个冒号和标记名称,如 mcr.microsoft.com/mssql/server:2022-GA-ubuntu。 若要查看所有可用映像,请参阅 mssql-server Docker hub 页。

2.对于本文中的 bash 命令,将使用 sudo。 如果不想使用 sudo 来运行 Docker,可以配置一个 docker

组,并将用户添加到该组。 有关详细信息,请参阅 Post-installation steps for Linux(适用于 Linux

的安装后步骤)。

2.2 要使用 Docker 运行 Linux 容器映像,可以从 Bash Shell 或提升的 PowerShell 命令提示符使用以下命令

SA_PASSWORD 环境变量已弃用。 请改用 MSSQL_SA_PASSWORD。

sudo docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<YourStrong@Passw0rd>" \
   -p 1433:1433 --name sql1 --hostname sql1 \
   -d \
   mcr.microsoft.com/mssql/server:2022-latest

2.3 要查看 Docker 容器,请使用 docker ps 命令。

sudo docker ps -a

应该会看到与下面类似的输出:

CONTAINER ID   IMAGE                                        COMMAND                    CREATED         STATUS         PORTS                                       NAMES
d4a1999ef83e   mcr.microsoft.com/mssql/server:2022-latest   "/opt/mssql/bin/perm..."   2 minute

2.4 如果 STATUS 列显示 Up 状态,则 SQL Server 正在容器中运行,并且在侦听 PORTS 列中指定的端口。

如果 SQL Server 容器的 STATUS 列显示 Exited,请参阅配置指南的疑难解答部分。 一旦 SQL Server 错误日志显示以下消息,就可连接此服务器:SQL Server is now ready for client connections. This is an informational message; no user action is required。 可以使用以下命令查看容器内的 SQL Server 错误日志:

docker exec -t sql1 cat /var/opt/mssql/log/errorlog | grep connection

2.5 最后一步,更改 SA 密码,因为 MSSQL_SA_PASSWORD 在 ps -eax 输出中可见,并存储在同名的环境变量中。 请参阅以下步骤

SA 帐户是安装过程中在 SQL Server 实例上创建的系统管理员。 创建 SQL Server 容器后,可以通过在容器中运行 echo $MSSQL_SA_PASSWORD 来发现指定的 MSSQL_SA_PASSWORD 环境变量。 出于安全考虑,请考虑更改 SA 密码。


1.选择 SA 用户要使用的强密码。

2.使用 docker exec 运行sqlcmd,以使用 Transact-SQL 更改密码。 以下示例将从用户输入中读取旧密码和新密码。

sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
-S localhost -U SA \
 -P "$(read -sp "Enter current SA password: "; echo "${REPLY}")" \
 -Q "ALTER LOGIN SA WITH PASSWORD=\"$(read -sp "Enter new SA password: "; echo "${REPLY}")\""

三、连接到sqlserver数据库

下列步骤在容器内部使用 SQL Server 命令行工具 sqlcmd 来连接 SQL Server。


3.1 使用 docker exec -it 命令在运行的容器内部启动交互式 Bash Shell。 在下面的示例中,sql1 是在创建容器时由 --name 参数指定的名称。

sudo docker exec -it sql1 “bash”


3.2 在容器内部使用完整路径通过 sqlcmd 进行本地连接。

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P

“YourNewStrong@Passw0rd”


可以省略命令行上提示要输入的密码。 下面是一个示例:

  /opt/mssql-tools/bin/sqlcmd -S localhost -U SA

3.3 如果成功,应会显示 sqlcmd 命令提示符:1>。

四、开启sqlserver数据库代理

4.1 进入容器

docker exec -it xxx /bin/bash

4.2 提升权限

su - root

4.3 安装sudo

apt-get update

apt-get install sudo

apt-get install systemctl


4.4 第二种方式:使用root用户进入容器

docker exec -u root -it xxx /bin/bash

4.5 执行开启命令

sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true

4.6 重启sqlserver

docker restart xxx
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
相关文章
|
6天前
|
NoSQL 关系型数据库 应用服务中间件
docker基础篇:安装tomcat
docker基础篇:安装tomcat
111 64
|
8天前
|
关系型数据库 MySQL 数据库
docker高级篇(大厂进阶):安装mysql主从复制
docker高级篇(大厂进阶):安装mysql主从复制
66 24
|
9天前
|
NoSQL 算法 Redis
docker高级篇(大厂进阶):安装redis集群
docker高级篇(大厂进阶):安装redis集群
61 24
|
7天前
|
Ubuntu Linux Docker
Ubuntu22.04上Docker的安装
通过以上详细的安装步骤和命令,您可以在Ubuntu 22.04系统上顺利安装
94 11
|
21天前
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。
|
1天前
|
SQL Java 数据库连接
JDBC编程安装———通过代码操控数据库
本文,教你从0开始学习JBCD,包括驱动包的下载安装调试设置,以及java是如何通过JBDC实现对数据库的操作,以及代码的分析,超级详细
|
27天前
|
网络安全 数据库
gbase 8a 数据库 安装8ampp 常见ssh报错问题
gbase 8a 数据库 安装8ampp 常见ssh报错问题
|
SQL 数据库
如何快速备份还原Sql Server 数据库
备份数据库 选择你要备份的数据库,鼠标右键单击,选择任务-备份   弹出备份数据库窗口,选择添加    弹出选择备份目标窗口,点击浏览,选择存放备份数据库的目录,输入文件名,后缀名输入.bak,点击确定,确定,备份完成     还原数据库  鼠标右键单击数据库,选择还原文件和文件   ...
1370 0