2021-10-12

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

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镜像网站搜索自己需要的镜像版本。

  2. 创建容器

    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
    
  2. 容器启动、停止和卸载

    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,测试连接即可。
2021-10-12

上一篇:windows环境:dos 通过ftp连接到vsftpd 显示乱码解决方法


下一篇:题目 1433: [蓝桥杯][2013年第四届真题]危险系数