Docker安装SQL Server,并使用Navicat Premium连接SQL Server
Docker安装SQL Server,并使用Navicat Premium连接SQL Server文章目录Docker安装SQL Server,并使用Navicat Premium连接SQL Server1. Docker安装SQL Server1.1 拉取并运行容器镜像1.2 更改`SA`用户密码1.3 连接 SQL Server1.4 创建和查询数据2. Navicat Premium连接S.
Docker安装SQL Server,并使用Navicat Premium连接SQL Server
文章目录
官方文档
环境介绍:
Linux: Ubuntu 16.04.5 LTS
Docker version 18.06.1-ce, build e68fc7a
Navicat Premium 12.1
1. Docker安装SQL Server
1.1 拉取并运行容器镜像
-
从Microsoft Container Registry中拉取SQL Server 2017 Linux容器映像。
sudo docker pull mcr.microsoft.com/mssql/server:2017-latest
-
使用Docker运行容器镜像
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=YourStrong@Passw0rd" \ -p 1433:1433 --name mssql \ -d mcr.microsoft.com/mssql/server:2017-latest
注意:
默认情况下,密码长度必须至少为8个字符,并且包含以下四个集合中的三个字符:大写字母,小写字母,数字和符号。下表提供了先前docker run示例中的参数说明:
Parameter Description -e ‘ACCEPT_EULA=Y’ 将ACCEPT_EULA变量设置为任何值以确认你接受最终用户许可协议。 -e ‘SA_PASSWORD=YourStrong!Passw0rd’ 设置强密码 -p 1433:1433 使用容器中的TCP端口(第二个值)映射主机环境(第一个值)上的TCP端口。 在此示例中,SQL Server正在侦听容器中的TCP 1433,并且它将暴露给主机上的端口1433。 –name mssql 为容器指定自定义名称,而不是随机生成的名称。 如果你运行多个容器,则无法重复使用此名称。 mcr.microsoft.com/mssql/server:2017-latest SQL Server 2017 Linux容器映像。 -
使用
docker ps
命令查看Docker容器镜像sudo docker ps -a
[外链图片转存失败(img-CDqceGRe-1566195706602)(/images/docker.png)]
1.2 更改SA
用户密码
-
如果需要更改
SA
用户的密码,可以使用以下命令sudo docker exec -it mssql /opt/mssql-tools/bin/sqlcmd \ -S localhost -U SA -P "<YourStrong!Passw0rd>" \ -Q 'ALTER LOGIN SA WITH PASSWORD="YourNewStrong!Passw0rd"'
1.3 连接 SQL Server
-
使用docker exec -it命令在正在运行的容器中启动交互式bash shell。 在以下示例中,mssql是在创建容器时由–name参数指定的名称。
sudo docker exec -it mssql /bin/bash
-
进入容器后,使用sqlcmd进行本地连接。 默认情况下,Sqlcmd不在路径中,因此您必须指定完整路径。
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "YourNewStrong@Passw0rd"
-
如果登录成功,你应该进入sqlcmd命令提示符:
1>
1.4 创建和查询数据
-
创建数据库
TestDB
CREATE DATABASE TestDB
-
上面的命令没有立即执行,必须在新的一行输入
GO
,才能执行以上的命令GO
-
Insert data
USE TestDB
CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
GO
-
Select data
SELECT * FROM Inventory WHERE quantity > 152;
GO
-
退出sqlcmd
QUIT
2. Navicat Premium连接SQL Server
前提: 如果防火墙开启,需要添加端口
3. 删除容器
-
如果要删除示例中使用的SQL Server容器,请运行以下命令:
sudo docker stop mssql sudo docker rm mssql
更多推荐
所有评论(0)