先决条件

适用于支持的任一 Linux 分发版的 Docker 引擎 1.8 以上版本,或适用于 Mac/Windows 的 Docker。 有关详细信息,请参阅安装 Docker。

至少 4 GB 的磁盘空间

至少 4 GB 的 RAM

重要

Docker for Mac 和 Docker for Windows 的 Moby VM 默认大小为 2 GB,因此必须将其更改为 4 GB。如果你在 Mac 或 Windows 上运行,请使用以下过程来增加内存。

Docker 将内存增加为 4 GB (Mac)

以下步骤适用于为 4 GB 的 Mac for Docker 增加内存。

单击顶部状态栏上的 Docker 徽标。

选择首选项。

将内存指示器移到 4 GB 或以上。

单击重新启动在屏幕的按钮的按钮。

Docker 将内存增加为 4 GB (Windows)

以下步骤来增加为用于 Windows 的 Docker 为 4 GB 内存。

右键单击任务栏中的 Docker 图标。

单击设置该菜单下。

单击高级选项卡。

将内存指示器移到 4 GB 或以上。

单击应用按钮。

请求和运行容器映像

从 Docker Hub 中拉出 SQL Server 2017 Linux 容器映像。

bash

复制 sudo docker pull microsoft/mssql-server-linux:2017-latest

PowerShell

复制 docker pull microsoft/mssql-server-linux:2017-latest

前一个命令中提取最新的 SQL Server 2017 容器映像。 如果你想要请求的特定映像,则添加冒号和标记名称 (例如, microsoft/mssql-server-linux:2017-GA)。

若要使用 Docker 运行容器映像,可以使用以下命令从 bash shell (Linux/macOS) 或提升的 PowerShell 命令提示符。

bash

复制 sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD='

-p 1401:1433 --name sql1

-d microsoft/mssql-server-linux:2017-latest

PowerShell

复制 docker run-e "ACCEPT_EULA=Y"-e "MSSQL_SA_PASSWORD=" `

-p 1401:1433--name sql1 `

-d microsoft/mssql-server-linux:2017-latest

备注

默认情况下,这将创建一个容器的 SQL Server 2017 开发人员版。 在容器中运行生产版本的过程是略有不同。 有关详细信息,请参阅运行容器映像的生产。

下表提供了参数在前面的说明docker run示例:

参数

Description

-e ACCEPT_EULA = Y

设置ACCEPT_EULA变量为任何值,以确认你接受最终用户许可协议。 SQL Server 映像的必需设置。

-e MSSQL_SA_PASSWORD =

指定你自己的强密码至少 8 个字符并达到SQL Server 密码要求。 SQL Server 映像的必需设置。

-p 1401:1433

建立主机环境(第一个值)上的 TCP 端口与容器(第二个值)中 TCP 端口的映射。 在此示例中,SQL Server 侦听 TCP 1433 容器中,并且这公开给端口 1401,主机上。

-名称 sql1

指定容器,而不是一个随机生成的自定义名称。 如果你运行多个容器,你无法重用此相同的名称。

microsoft/mssql-server-linux:2017-latest

SQL Server 2017 Linux 容器映像。

若要查看你的 Docker 容器,请使用docker ps命令。

bash

复制 sudo docker ps -a

PowerShell

复制 docker ps-a

将看到与如下屏幕截图相似的输出:

如果状态列显示的状态向上,然后在容器中运行 SQL Server 且在侦听端口指定端口列。 如果状态你 SQL 服务器容器显示的列Exited,请参阅故障排除部分中的配置指南。

-h (主机名) 参数也非常有用,但不是使用在本教程中为简单起见,它。 这会容器的内部名称更改为自定义值。 这是你将看到以下 TRANSACT-SQL 查询中返回的名称:

SQL

复制

SELECT @@SERVERNAME,

SERVERPROPERTY('ComputerNamePhysicalNetBIOS'),

SERVERPROPERTY('MachineName'),

SERVERPROPERTY('ServerName')

设置-h和--name为相同的值是一种好方法,可以轻松地识别目标容器。

更改 SA 密码

SA 帐户是安装过程中在 SQL Server 实例上创建的系统管理员。 创建 SQL Server 容器后,通过在容器中运行 echo $MSSQL_SA_PASSWORD,可发现指定的 MSSQL_SA_PASSWORD 环境变量。 出于安全考虑,请考虑更改 SA 密码。

选择 SA 用户要使用的强密码。

使用 docker exec 运行sqlcmd,以使用 Transact-SQL 更改密码。 将  和  替换为自己的密码值。

bash

复制 sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd

-S localhost -U SA -P ''

-Q 'ALTER LOGIN SA WITH PASSWORD=""'

PowerShell

复制 docker exec-it sql1 /opt/mssql-tools/bin/sqlcmd `

-S localhost-U SA-P "" `

-Q "ALTER LOGIN SA WITH PASSWORD=''"

连接到 SQL Server

下列步骤将使用 SQL Server 命令行工具, sqlcmd,要连接到 SQL Server 的容器内。

使用docker exec -it命令来启动交互式 bash shell 内你正在运行的容器。 在下面的示例sql1由指定名称--name参数创建容器时。

bash

复制 sudo docker exec -it sql1 "bash"

PowerShell

复制 docker exec-it sql1 "bash"

一旦位于容器内部,使用 sqlcmd 进行本地连接。 Sqlcmd 不在默认情况下,路径因此你必须指定完整路径。

bash

复制 /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P ''

提示

可以省略命令行上提示要输入的密码。

如果成功,应会显示 sqlcmd 命令提示符:1>。

创建和查询数据

以下部分将引导你使用 sqlcmd 和 Transact-SQL 完成新建数据库、添加数据并运行简单查询的整个过程。

新建数据库

以下步骤创建一个名为 TestDB 的新数据库。

在 sqlcmd 命令提示符中,粘贴以下 Transact-SQL 命令以创建测试数据库:

SQL

复制 CREATE DATABASE TestDB

在下一行中,编写一个查询以返回服务器上所有数据库的名称:

SQL

复制 SELECT Name from sys.Databases

前两个命令没有立即执行。 必须在新行中键入 GO 才能执行以前的命令:

SQL

复制 GO

插入数据

接下来创建一个新表 Inventory,然后插入两个新行。

在 sqlcmd 命令提示符中,将上下文切换到新的 TestDB 数据库:

SQL

复制 USE TestDB

创建名为 Inventory 的新表:

SQL

复制 CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)

将数据插入新表:

SQL

复制 INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);

要执行上述命令的类型 GO:

SQL

复制 GO

选择数据

现在,运行查询以从 Inventory 表返回数据。

通过 sqlcmd 命令提示符输入查询,以返回 Inventory 表中数量大于 152 的行:

SQL

复制 SELECT * FROM Inventory WHERE quantity > 152;

执行命令:

SQL

复制 GO

退出 sqlcmd 命令提示符

要结束 sqlcmd 会话,请键入 QUIT:

SQL

复制 QUIT

若要退出容器中的交互式命令提示,请键入exit。 退出交互式 Bash Shell 后,容器将继续运行。

从连接容器之外

你可以还连接到 SQL Server 实例在 Docker 上从任何外部的 Linux、 Windows 或 macOS 工具支持 SQL 连接。

以下步骤使用sqlcmd外部容器连接到在容器中运行的 SQL Server。 这些步骤假定你已在你的容器之外安装的 SQL Server 命令行工具。 相同的主体应用时使用其他工具,但连接的过程是唯一的每个工具。

查找承载你的容器的计算机的 IP 地址。 在 Linux 上,使用ifconfig或ip addr。在 Windows 上,使用ipconfig。

运行指定的 IP 地址和端口映射到容器中的端口 1433年的 sqlcmd。 在此示例中,这是端口 1401年主机计算机上。

bash

复制 sqlcmd -S 10.3.2.4,1401 -U SA -P ''

PowerShell

复制 sqlcmd-S 10.3.2.4,1401-U SA-P ""

运行 TRANSACT-SQL 命令。 完成后,键入QUIT。

若要连接到 SQL Server 其他常见工具包括:

删除容器

如果你想要删除 SQL Server 容器使用在本教程中,运行以下命令:

bash

复制

sudo docker stop sql1

sudo docker rm sql1

PowerShell

复制

docker stop sql1

docker rm sql1

linux docker 安装sql,CentOS7使用Docker安装SQL Server 2017相关推荐

  1. centos losf 安装_Linux Centos7部署环境安装-CentOS

    Linux Centos7部署环境安装-CentOS Centos7部署环境安装及Linux常用命令 centos系统下各文件夹的作用 centos7修改系统默认语言 centos7安装rz/sz命令 ...

  2. linux (阿里云 CentOS7) 中安装配置 RocketMQ

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. JDK1.8的安装: 1.检查系统的JDK版本 根目录下操作:cd java -version 2. ...

  3. linux下yum安装pgsql,CentOS7使用yum安装PostgreSQL和PostGIS的方法

    1.更新yum源 CentOS7默认yum源的PostgreSQL版本过低,不适合在本版本上使用.在https://yum.postgresql.org/repopackages.php上找到适合Ce ...

  4. linux centos7安装ngix,centos7 环境下安装nginx--Linux

    本文将要为您介绍的是centos7 环境下安装nginx--Linux,具体完成步骤:一.安装前需要的编译环境准备 1.安装make yum install -y gcc automake autoc ...

  5. linux视频播放器vlc,Centos7.2下安装VLC视频播放器

    最近,打算在centos7.2上安装一个叫MPlayer的视频播放器,但是折腾好久,得到的结果只是可以播放,但是却没有声音.无奈之下另寻他路.最后选择安装VLC视频播放器. 我的linux版本是cen ...

  6. linux yum 安装dns,centos7配置YUM安装DNS服务

    1.配置DNS地址vim /etc/resolv.conf nameserver 192.168.1.100 #注:这里的地址是你DNS服务器本机的地址 2.安装dns服务yum install bi ...

  7. centos7二进制安装php,Centos7下编译安装配置Nginx+PHP+MySql环境

    序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...

  8. centos7 yun安装mysql,CentOS7 yum方式安装MySQL5.7

    MySQL 完整的初始密码规则可以通过如下命令查看: mysql> SHOW VARIABLES LIKE 'validate_password%'; +-------------------- ...

  9. 无人值守安装linux7,CentOS7网络无人值守安装

    环境准备 软件安装 本文通过YUM 方式安装各应用软件.yum install -y epel-release #安装扩展源 yum install -y nginx #安装nginx(如果采用htt ...

  10. DNF安装MySQL,CentOS7使用dnf安装mysql的方法

    本文介绍了CentOS7使用dnf安装mysql的方法,分享给大家,具体如下: 1.安装mysql的yum仓库 执行以下命令: 代码如下: yum localinstall 2.安装mysql dnf ...

最新文章

  1. NBT:南农突破成果—噬菌体:土壤“狙击手”激发根际防御军团(附视频)
  2. 与张小龙同行:微信小程序开发
  3. MySQL—相关子查询
  4. Jackson 注解 -- 使用 Map存储JSON
  5. MFC六大核心机制之一:MFC程序的初始化
  6. yolov3权重_目标检测之 YOLOv3 (Pytorch实现)
  7. 理解Linux中断 (3)【转】
  8. Vue里 v-for原理
  9. 大数据之-Hadoop3.x_MapReduce_WordCount编写_Mapper---大数据之hadoop3.x工作笔记0089
  10. eventemitter_节点JS事件模块和EventEmitter
  11. linux dd来加载驱动,linux 加载raid驱动
  12. 百度以侵犯商业秘密起诉前高管王劲 索赔5000万 内附王劲离职承诺函
  13. 魔百和服务器网站,【当贝市场】魔百盒首页诊断显示网络异常解决办法
  14. App个人信息保护管理暂行规定即将出台
  15. ODPS SQL优化总结
  16. 酸奶糖酸比的计算机控制,PAL-BX丨ACID F5 五种水果糖酸度计
  17. Html-小米官网头部
  18. 联通光猫HG2543C1改桥接备忘
  19. python人机交互界面设计_[译]学习IPython进行交互式计算和数据可视化(五)
  20. centos7配置tomcat环境变量

热门文章

  1. 【bzoj1976】[BeiJing2010组队]能量魔方 Cube 网络流最小割
  2. struts2 与 spring 整合
  3. strpos、 strstr、 substr三个函数的对比讲解
  4. 用EViews做时间序列SARIMA模型的傻瓜操作小记
  5. unix网络编程之基本套接口编程
  6. 移植Andorid4.0.4 - 步骤及问题汇总
  7. javascript创建对象过程
  8. [Flex]打造属于自己的Apollo(二)
  9. 第九章:第九章:XML文档集成---Axd向导
  10. 路径规划算法:Dijkstra算法 - 附代码