热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

docker安装sqlserver

步骤调整docker内存大小为4G下载SQLServer镜像sudodockerpullmicrosoftmssql-server-linux:2017-latest启动SQLSe

步骤

  1. 调整 docker 内存大小为4G

  2. 下载SQL Server镜像

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

  3. 启动SQL Server容器,命令如下:

    sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=Asdfgh123' \
    -p 1401:1433 --name sql-server \
    -d microsoft/mssql-server-linux:2017-latest
    具体参数意义,请参看微软文档。(MSSQL_SA_PASSWORD为初始密码,可以自己修改)

  4. 查看SQL Server容器是否启动成功:
    sudo docker ps -a,status 字段为 up 则执行成功。
    重启容器命令为:

    sudo docker start dbe02b992333
    其中dbe02b992333为通过`sudo docker ps -a`查询到的容器 ID

  5. 修改 SA(system administrator) 密码
    通过 docker exec命令执行 sqlcmd 可以修改 SA 密码。命令如下:

    sudo docker exec -it sql-server /opt/mssql-tools/bin/sqlcmd \
    -S localhost -U SA -P 'Asdfgh123' \
    -Q 'ALTER LOGIN SA WITH PASSWORD="qazWSX123"'

  6. 连接数据库,通过 sql-server 命令行工具 sqlcmd,在容器内部连接到 SQL Server
    通过docker exec -it命令打开运行中容器的交互 shell。命令如下:

    sudo docker exec -it sql-server "bash"

    其中sql-server的值就是创建容器时命名的值
    进入容器之后,可以通过 sqlcmd 连接上本地的 SQL Server。命令如下:

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

    如果出现>提示符,则表示登录成功。
    执行操作:

    CREATE DATABASE TestDB
    SELECT Name from sys.Databases
    GO

  7. 外部访问 SQL Server

    • 安装 sqlcmd,前提已经安装了 nodejs(node 安装请自行搜索)。执行命令:npm install -g sqlcmdjs

    • 执行查询命令

      sqlcmd -s 127.0.0.1 -o 1401 -u SA -p "qazWSX123" "select name, database_id from sys.databases"

    返回正确的值,表明查询成功。

  8. 删除容器,命令如下:

    sudo docker stop sql-server
    sudo docker rm sql-server

参考文献

  1. Run the SQL Server 2017 container image with Docker

推荐阅读
  • 本文详细介绍了 Linux 系统中用户、组和文件权限的设置方法,包括基本权限(读、写、执行)、特殊权限(SUID、SGID、Sticky Bit)以及相关配置文件的使用。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 本文详细介绍了 Kubernetes 集群管理工具 kubectl 的基本使用方法,涵盖了一系列常用的命令及其应用场景,旨在帮助初学者快速掌握 kubectl 的基本操作。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 1.执行sqlsever存储过程,消息:SQLServer阻止了对组件“AdHocDistributedQueries”的STATEMENT“OpenRowsetOpenDatas ... [详细]
  • 离线安装Grafana Cloudera Manager插件并监控CDH集群
    本文详细介绍如何离线安装Cloudera Manager (CM) 插件,并通过Grafana监控CDH集群的健康状况和资源使用情况。该插件利用CM提供的API接口进行数据获取和展示。 ... [详细]
  • Symfony是一个功能强大的PHP框架,以其依赖注入(DI)特性著称。许多流行的PHP框架如Drupal和Laravel的核心组件都基于Symfony构建。本文将详细介绍Symfony的安装方法及其基本使用。 ... [详细]
  • 本文详细介绍了如何解压并安装MySQL集群压缩包,创建用户和组,初始化数据库,配置环境变量,并启动相关服务。此外,还提供了详细的命令行操作步骤和常见问题的解决方案。 ... [详细]
  • docker镜像重启_docker怎么启动镜像dock ... [详细]
  • 本文探讨了如何通过一系列技术手段提升Spring Boot项目的并发处理能力,解决生产环境中因慢请求导致的系统性能下降问题。 ... [详细]
  • 请看|间隔时间_Postgresql 主从复制 ... [详细]
  • Eclipse 中 JSP 开发环境配置指南
    本文详细介绍了如何在 Eclipse 集成开发环境中配置 JSP 运行环境,包括必要的软件下载、Tomcat 服务器的配置以及常见问题的解决方法。 ... [详细]
  • 本文详细介绍了Java集合框架中的Collection体系,包括集合的基本概念及其与数组的区别。同时,深入探讨了Comparable和Comparator接口的区别,并分析了各种集合类的底层数据结构。最后,提供了如何根据需求选择合适的集合类的指导。 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
author-avatar
逝去成回忆2502920253
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有