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

sudo docker pull mcr.microsoft.com/mssql/server:2017-latest

2、显示所有可用的镜像

$ docker images

3、运行一个镜像(也就相当于使用已有的镜像创建一个实例),其中

<YourStrong!Passw0rd> 参数需要自己填 ,YourStrong!Passw0rd:设置 SA密码  
 --name sql1  为容器指定一个自定义名称,而不是使用随机生成的名称。 如果运行多个容器,则无法重复使用相同的名称。

其中ACCEPT_EULA=Y的意思是同意许可协议,必选;MSSQL_SA_PASSWORD为密码,要求是最少8位的强密码,要有大写字母,小写字母,数字以及特殊符号,不然会有一个大坑(docker启动sqlserver容器后过几秒就停止了);

-p 1433:1433 绑定端口,--net=host代表主机模式。docker和主机共享端口

$ sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<YourStrong!Passw0rd>'  -p 1433:1433 --net=host --name sql1  -d mcr.microsoft.com/mssql/server:2017-latest

以下使用sqlcdm连接,这里使用sqlcmd的安装

导入公共存储库 GPG 密钥

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

注册 Microsoft Ubuntu 存储库

curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list

更新源列表,并使用 unixODBC 开发人员包运行安装命令

sudo apt-get update
sudo apt-get install mssql-tools unixodbc-dev

添加/opt/mssql-tools/bin/到你路径bash shell 中的环境变量

若要使sqlcmd/bcp可从登录会话的 bash shell 访问修改你路径中 ~/.bash_profile文件使用以下命令:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

若要使sqlcmd/bcp能从交互式/非登录会话,bash shell 访问修改路径中 ~/.bashrc文件使用以下命令:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc

以下步骤使用 sqlcmd 本地连接到新的 SQL Server 实例

使用 SQL Server 名称 (-S),用户名 (-U) 和密码 (-P) 的参数运行 sqlcmd。 在本教程中,用户进行本地连接,因此服务器名称为 localhost。 用户名为 SA,密码是在安装过程中为 SA 帐户提供的密码。

sqlcmd -S localhost -U SA -P '<YourPassword>'

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

如果连接失败,请首先尝试根据错误消息诊断问题。 然后查看连接故障排除建议

创建和查询数据

下面各部分将逐步介绍如何使用 sqlcmd 新建数据库、添加数据并运行简单查询。

新建数据库

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

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

CREATE DATABASE TestDB

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

SELECT Name from sys.Databases

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

GO

插入数据

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

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

USE TestDB

创建名为 Inventory 的新表:

CREATE TABLE Inventory (id INT, name NVARCHAR(), quantity INT)

将数据插入新表:

INSERT INTO Inventory VALUES (, 'banana', ); INSERT INTO Inventory VALUES (, 'orange', );

要执行上述命令的类型 GO

GO

选择数据

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

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

SELECT * FROM Inventory WHERE quantity > ;

执行命令:

GO

退出 sqlcmd 命令提示符

要结束 sqlcmd 会话,请键入 QUIT

QUIT

ubuntu 16.0.4 中docker 部署 sqlserver 2017(四)的更多相关文章

  1. Ubuntu 16.04下使用docker部署ceph集群

    ceph集群docker部署 通过docker可以快速部署小规模Ceph集群的流程,可用于开发测试. 以下的安装流程是通过linux shell来执行的:假设你只有一台机器,装了linux(如Ubun ...

  2. Ubuntu 16.04下使用docker部署Redis主从复制

    (以下docker相关的命令,需要在root用户环境下或通过sudo提升权限来进行操作.) 1.拉取Redis镜像到本地 docker pull redis 2. 准备Redis主从配置文件 Redi ...

  3. Ubuntu 16.04下使用docker部署MySQL主从复制

    (以下docker相关的命令,需要在root用户环境下或通过sudo提升权限来进行操作.) 首先更新 软件源 https://mirrors.tuna.tsinghua.edu.cn/help/ubu ...

  4. Ubuntu 16.04下使用docker部署rabbitmq

    (以下docker相关的命令,需要在root用户环境下或通过sudo提升权限来进行操作.) 1.拉取rabbimq镜像到本地 docker pull rabbitmq 2. Docker运行rabbi ...

  5. netcore程序部署 ubuntu 16.0.4 报错 The type initializer for 'System.Net.Http.CurlHandler'的解决方案

    最近业务扩展需要把netcore程序部署到ubuntu 16.0.4上,因为代码里面用到了HttpClient 请求. 部署ubuntu后一直报错 参考地址:https://github.com/do ...

  6. 在ubuntu 16.04系统环境中搭建NAS(samba/iscsi/nfs)

    在ubuntu 16.04系统中搭建NAS环境 一.基本配置1:设置静态IPvi /etc/network/interfaces#iface ens32 inet dhcpiface ens32 in ...

  7. 详细介绍Ubuntu 16.04系统环境安装Docker CE容器的过程

    由于项目的需要,我们在很多软件配置环境中需要用到Docker容器,这个时候我们可以用自己的VPS主机搭建.在这篇文章中,笔者将会利用Ubuntu 16.04系统环境安装Docker CE容器的过程.如 ...

  8. ubuntu 16.0安装 hadoop2.8.3

    环境:ubuntu 16.0 需要软件:jdk ssh https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/ 2.8.3 安装 jdk并 ...

  9. Windows 10下怎么远程连接 Ubuntu 16.0.4(小白级教程)

    前言: 公司因为用Ruby做开发,所有适用了Ubuntu系统,但是自己笔记本是W10,又不想装双系统,搭建开发环境,便想到倒不如自己远程操控公司电脑,这样在家的时候也可以处理一些问题.故此便有了下面的 ...

随机推荐

  1. 毕业两年做到测试经理的经历总结- 各个端的自动化,性能测试结合项目具体场景实战,分析客户反馈的Bug

    前言 最近看到行业的前辈都分享一些过往的经历来指导我们这些测试人员,我很尊敬我们的行业前辈,没有他们在前面铺路,如今我们这帮年轻的测试人估计还在碰壁或摸着石头过河,结合前辈们的经验,作为年轻的测试人也 ...

  2. CentOS7安装docker 18.06

    原文:CentOS7安装docker 18.06 一.CentOS Docker 安装 参考docker 官方网站:https://docs.docker.com/install/linux/dock ...

  3. HibernateCRUD基础框架(1)-实体类

    HibernateCRUD基础框架包括3篇文章,主要讲述整个CRUD基础框架的思路. 第1篇:讲述最基本的实体类,这些实体类是对SQL语言中的一些概念的封装. 第2篇:在这些实体类的基础上,开发一个& ...

  4. 【Codeforces Round #299 (Div. 2) A】 Tavas and Nafas

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 模拟题 [代码] #include <bits/stdc++.h> using namespace std; map & ...

  5. 基于StringUtils工具类的常用方法介绍(必看篇)

    前言:工作中看到项目组里的大牛写代码大量的用到了StringUtils工具类来做字符串的操作,便学习整理了一下,方便查阅. isEmpty(String str) 是否为空,空格字符为false is ...

  6. Linux高性能server编程——系统检測工具

    系统检測工具 tcpdump tcpdump是一款经典的抓包工具,tcpdump给使用者提供了大量的选项,泳衣过滤数据报或者定制输出格式. lsof lsof是一个列出当前系统打开的文件描写叙述符的工 ...

  7. SpringMVC学习记录(五)--表单标签

    在使用SpringMVC的时候我们能够使用Spring封装的一系列表单标签,这些标签都能够訪问到ModelMap中的内容. 以下将对这些标签一一介绍. 1.引入标签头文件 在正式介绍SpringMVC ...

  8. 全面详细介绍一个P2P网贷领域的ERP系统的主要功能

        一般的P2P系统,至少包括PC网站的前端和后端.前端系统的功能,可以参考"P2P系统哪家强,功能其实都一样" http://blog.csdn.net/fansunion/ ...

  9. DBeaver笔记-快捷键篇

    公司使用的是PostgreSQL数据库,可以使用pgAdmin或者DBeaver进行连接该数据库.个人更喜欢用DBeaver,因为其界面更加美观,操作也相对简单.对于习惯了eclipse的开发者来说, ...

  10. Unity插件之NGUI学习(5)—— 创建Label图文混排及文字点击

    创建一个新的Scene,并按 Unity插件之NGUI学习(2)创建UI Root. 准备工作,制作Font.如今Project窗体创建一个Font目录.然后从系统自带字体目录中选择自己须要的字体,我 ...