centos环境下docker安装sql server及其使用

  • docker安装sql server及其使用
  • docker安装sql server
  • sql server容器内访问数据库
  • 容器外访问sql server
  • 使用sqlcmd访问
  • 使用工具


docker安装sql server及其使用

前提条件:centos上安装有docker且docker已经启动(推荐使用宝塔面板,可以简化服务器或者虚拟机的管理),要求系统至少有2GB磁盘空间和2GBRAM。
使用docker容器化技术可以快速安装sql server。

docker安装sql server

执行以下命令之前可以先以root(虚拟机用户名不一定为root)登陆获取root权限。

su root
  1. 获取sql server镜像
    如果使用宝塔面板,可通过docker管理器中的获取镜像选项获取该镜像。
docker pull mcr.microsoft.com/mssql/rhel/server:2019-CU1-rhel-8

镜像版本号可以在docker镜像网站搜索自己需要的镜像版本。

  1. 创建容器
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=Your@StrongPassword" \
-p 1433:1433 --name YourContainerName \
-d mcr.microsoft.com/mssql/rhel/server:2019-CU1-rhel-8

Your@StrongPassword替换为自己的强密码(包含字母、数字、特殊字符,不少于8位)。
YourContainerName替换为自己的容器名,例如mssql1

参数

说明

-e ‘ACCEPT_EULA=Y’

固定值,用以确认接受用户许可协议

-e “MSSQL_SA_PASSWORD=Your@StrongPassword”

指定SQLSERVER的密码(至少包含 8 个字符的强密码)

-p 1433:1433

将物理机的IP地址映射到容器端口

–name mssql1

为容器指定一个自定义名称(默认是系统自动随机生成)

mcr.microsoft.com/mssql/rhel/server:2019-CU1-rhel-8

SQL Server 2019 容器镜像

  1. 查看容器状态
    若出现mssql1(也就是上一步设置的容器名称),容器创建成功。
docker ps
  1. 容器启动、停止和卸载
    mssql1(也就是前面设置的容器名称)
#启动
docker start mssql1
#停止
docker stop mssql1
#卸载(先停止)
docker rm mssql1

sql server容器内访问数据库

mssql1(也就是前面设置的容器名称)

#进入容器
docker exec -it mssql1 bash
#登录进入sql server
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "Your@StrongPassword"
#创建数据库
create database stepOne
#执行上述命令
go
#查看数据库是否创建成功
select Name from sys.Databases
#执行
go
#退出交互界面
quit
#退出容器
exit

容器外访问sql server

前提:防火墙开放1433端口

使用sqlcmd访问

#安装sqlcmd
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
yum install mssql-tools unixODBC-devel
#增加环境变量
vim /etc/profile.d/mssqltools.sh
#在文件中输入:export PATH=$PATH:/opt/mssql-tools/bin/
#编译
source /etc/profile.d/mssqltools.sh
#最后,进入交互界面
sqlcmd -S ip_address,1433 -U SA -P "Your@StrongPassword"
#退出
quit

使用工具

例如DataGrip

Host填入docker所在主机的ip地址,

端口号为1433

填入password

填入Database,测试连接即可。

dockers安装ymsql docker安装sqlserver2008_运维