群晖Docker安装SQL Server

购入群晖DS920已经很长时间了,一直没有玩Docker,最近有点时间,启用了Docker跑数据库,现在就来记录一下如何通过群晖Docker安装SQL Server。由于群晖通过web管理界面很多时候无法获取到映像,所以我们还是通过SSH登录终端输入命令行来搞定。至于为什么无法获取到映像,网上的各种说法都有,但是经过本人尝试,更改Docker的镜像地址并不凑效。不过好在群晖官方更新了DSM版本,Docker改名Container Manager以后,这个bug就修复了。但是今天还是用命令行来做。

安装的版本:SQL Server2019

1.登录终端

首先打开群晖的SSH登录,进入控制面板。在这里插入图片描述选择SSH工具登录,我用的是Kitty。输入群晖的地址,端口号22,登入。用户名和密码就是web管理端的,但是如果想管理docker,还需要输入sudo -su,再次输入密码后拿到root权限。

2.拉取镜像

在命令行输入
docker pull mcr.microsoft.com/mssql/server:2019-latest

3.运行容器

docker run -e “ACCEPT_EULA=Y” -e “SA_PASSWORD=123456@” -p 1433:1433 --name sqlserver2019 -d mcr.microsoft.com/mssql/server:2019-latest
参数解释:

-e “ACCEPT_EULA=Y”:默认选择同意协议许可证

-e “SA_PASSWORD=123456@”:设置连接密码为123456@

-p 1433:1433: 宿主机端口映射到容器端口(前者为宿主机,后面是群晖主机,也就是用群晖的端口来访问sqlserver)

–name sqlserver2019:容器别名

-d: 后台运行

mcr.microsoft.com/mssql/server:2019-latest:镜像名称:标签

4.进入容器

(1)进入容器

docker exec -it sqlserver2019 /bin/bash

(2)连接数据库

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P “123456@”

(3)查询数据库

select name from sys.Databases
go

(4) 创建数据库

create database TEST
go

可以看到我们成功的创建好了一个数据库。

5.远程连接

可以使用数据库工具进行远程数据库链接测试了,我使用Navicat和SSMS都没有问题,和在windows上安装的sqlserver没区别。

在服务器上使用 Docker 安装 SQL Server 有两种常见方法:使用 `docker run` 命令和使用 `docker-compose`。 ### 使用 `docker run` 命令安装 使用 `docker run` 命令可以直接在 Docker 中运行 SQL Server 容器。不同版本的 SQL Server 对应的镜像标签不同,以下是不同版本的示例: #### 安装 SQL Server 2017 ```bash docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=qwe20211114." -p 1433:1433 --name sqlserver2017 -d mcr.microsoft.com/mssql/server:2017-latest ``` 此命令会拉取 SQL Server 2017 的最新镜像并运行一个名为 `sqlserver2017` 的容器,将容器的 1433 端口映射到主机的 1433 端口,同时设置了环境变量 `ACCEPT_EULA=Y` 表示接受许可协议,`SA_PASSWORD=qwe20211114.` 为 SA 用户设置密码 [^3]。 #### 安装 SQL Server 最新版本 ```bash docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=fanmukeji.1234567" -p 1433:1433 --name sqlserver --restart always -d mcr.microsoft.com/mssql/server:latest ``` 该命令会拉取 SQL Server 的最新镜像并运行一个名为 `sqlserver` 的容器,将容器的 1433 端口映射到主机的 1433 端口,设置了环境变量 `ACCEPT_EULA=Y` 表示接受许可协议,`SA_PASSWORD=fanmukeji.1234567` 为 SA 用户设置密码,`--restart always` 表示容器会在 Docker 启动时自动启动 [^2]。 ### 使用 `docker-compose` 安装 如果服务器未安装 `docker-compose`,需要先安装。以下是使用 `docker-compose` 安装 SQL Server 2019 的步骤: 1. 创建一个目录,例如 `sqlserver`,并进入该目录。 2. 创建 `docker-compose.yml` 文件: ```bash touch docker-compose.yml ``` 3. 编辑 `docker-compose.yml` 文件: ```bash vim docker-compose.yml ``` 4. 在 `docker-compose.yml` 文件中编写以下内容: ```yaml version: '3.1' services: sqlserver-2019: restart: always container_name: sqlserver-2019 image: mcr.microsoft.com/mssql/server:2019-latest # 端口映射 ports: - 1433:1433 volumes: - ./data/mssql:/var/opt/mssql # 环境变量 environment: - ACCEPT_EULA=Y # SA 用户密码长度必须至少为 8 个字符,并包含以下四组中的三组字符:大写字母、小写字母、10 位基数和符号 - SA_PASSWORD='D6K6ekj00DD' ``` 此配置文件定义了一个名为 `sqlserver-2019` 的服务,使用 SQL Server 2019 的最新镜像,将容器的 1433 端口映射到主机的 1433 端口,将主机的 `./data/mssql` 目录挂载到容器的 `/var/opt/mssql` 目录,设置了环境变量 `ACCEPT_EULA=Y` 表示接受许可协议,`SA_PASSWORD='D6K6ekj00DD'` 为 SA 用户设置密码 [^1]。 5. 启动容器: ```bash docker-compose up -d ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值