centos环境下docker安装sql server及其使用
docker安装sql server及其使用
前提条件:centos上安装有docker且docker已经启动(推荐使用宝塔面板,可以简化服务器或者虚拟机的管理),要求系统至少有2GB磁盘空间和2GBRAM。
使用docker容器化技术可以快速安装sql server。
docker安装sql server
执行以下命令之前可以先以root(虚拟机用户名不一定为root)登陆获取root权限。
su root
-
获取sql server镜像
如果使用宝塔面板,可通过docker管理器中的获取镜像选项获取该镜像。docker pull mcr.microsoft.com/mssql/rhel/server:2019-CU1-rhel-8
镜像版本号可以在docker镜像网站搜索自己需要的镜像版本。
-
创建容器
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 容器镜像 |
-
查看容器状态
若出现mssql1(也就是上一步设置的容器名称),容器创建成功。docker ps
-
容器启动、停止和卸载
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,测试连接即可。