一、Docker安装SQL Server
Step1:从 Docker Hub 拉取 SQL Server 2019 Linux 容器映像
sudo docker pull mcr.microsoft.com/mssql/server:2019-GA-ubuntu-16.04
Step2:使用 Docker 运行容器映像
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<[email protected]>" -p 1433:1433 --name sql1 -d mcr.microsoft.com/mssql/server:2019-GA-ubuntu-16.04
#参数简介:
#-e "ACCEPT_EULA=Y" 将 ACCEPT_EULA 变量设置为任意值,以确认接受最终用户许可协议。 SQL Server 映像的必需设置。
#-e "SA_PASSWORD=<[email protected]\>" 指定至少包含 8 个字符且符合 SQL Server 密码要求的强密码。 SQL Server 映像的必需设置。(密码8位且包含大写小写字母以及数字)
#-p 1433:1433 将主机环境中的 TCP 端口(第一个值)映射到容器中的 TCP 端口(第二个值)。 在此示例中,SQL Server 侦听容器中的 TCP 1433,并对主机上的端口 1433 公开。
#--name sql1 为容器指定一个自定义名称,而不是使用随机生成的名称。 如果运行多个容器,则无法重复使用相同的名称。
#mcr.microsoft.com/mssql/server:2019-GA-ubuntu-16.04 SQL Server 2019 Ubuntu Linux 容器映像。
Step3:进入SQL Server
sudo docker start sql1
sudo docker exec -it sql1 "bash"
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<[email protected]>" #默认情况下,sqlcmd 不在路径之中,因此需要指定完整路径。
如果成功,应会显示 sqlcmd 命令提示符:
1>
。
二、创建和查询数据
1. 新建数据库
CREATE DATABASE testDB; #创建测试数据库
select Name from sys.Databases;#编写一个查询以返回服务器上所有数据库的名称
go;
2.插入数据库
USE TestDB; #切换到新的 TestDB 数据库
CREATE TABLE TestT (id INT,name NVARCHAR(50), quantity INT); #创建新表
INSERT INTO TestT VALUES (1, 'banana', 150); #将数据插入新表
INSERT INTO TestT VALUES (2, 'orange', 154); #将数据插入新表
go;
3.选择数据
select * from TestT where quantity > 152;#返回 TestT 表中数量大于 152 的行
go;
4.退出 sqlcmd 命令提示符QUIT
三、从容器外连接
1. 查找承载容器的计算机的 IP 地址。 在 Linux 上,使用 ifconfig 或 ip addr。在 Windows 上,使用 ipconfig。
2.1 为Macos安装sqlcmd,依赖Homebrew环境。/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.2 为Windows安装sqlcmd,详见Sqlcmd实用工具。
3. 运行 sqlcmd,指定 IP 地址和映射容器中的端口 1433 的端口。 本例中为主机上的相同端口 1433。 如果在主机上指定了不同的映射端口,则在此处使用它。sqlcmd -S <ip_address>,1433 -U SA -P "<[email protected]>"
。
原文地址:https://www.cnblogs.com/planck/p/12339653.html
时间: 2024-10-03 15:44:13