zoukankan      html  css  js  c++  java
  • Docker容器安装配置SQLServer服务(Linux)

    一:前言

    随着不断的对Docker容器的实践和学习,越来越觉得容器的强大,把 SQL Server 数据库服务放在docker容器中,比你自己在宿主服务器上面安装配置一个SQL Server服务器是要方便和快捷很多的。
    下面我们就来进行一个实践:

    在Linux下用Docker容器配置 SQL Server 服务,然后用SQL Server Management Studio工具连接数据库

    二:安装运行容器

    安装先决条件

    1,Docker 引擎 1.8+
    2,Linux内核的 3.18+
    3,“文件系统” XFS 或 EXT4(其他文件系统均不受支持,如 BTRFS)
    4,处理器类型仅兼容 x64 ,磁盘大于6G。至少 2 GB 的 RAM。
    

    下载镜像

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

    运行sqlserver docker容器

    $ sudo docker run -e 'ACCEPT_EULA=Y'  
    -e 'MSSQL_SA_PASSWORD=123456'  
    --name qtsqlserver 
    -p 1433:1433  
    -v /var/opt/mssql:/var/opt/mssql  
    -d mcr.microsoft.com/mssql/server:2017-latest
    

    命令说明:

    -e 'ACCEPT_EULA=Y': 配置变量,将 ACCEPT_EULA设置为任意值,以确认接受最终用户许可协议。 SQL Server 映像的必需设置。
    -e 'MSSQL_SA_PASSWORD':配置环境变量,此处变量作业为自定义SqlServer登录密码(用户名为sa)
    --name :容器名
    -p:配置宿主机与容器的端口映射(将主机环境中的 TCP 端口(第一个值)映射到容器中的 TCP 端口(第二个值))
    -v:将主机目录作为数据卷装载,用于保存系统日志和数据库mdf等文件(很重要,这个不配置,你容器删除后所有数据库数据也就都没有了)
    -d:指定容器 后台运行,如果不指定此命令,当前终端关闭或者被占用程序则会退出
    

    如果对Docker命令不了解可以参考我之前的文章或者文章后面的参考文档
    传送门:Docker数据卷与数据卷容器
    查看运行容器,下图为运行成功

    $ sudo docker ps -a
    

    三:用SQL Server Management Studio(SSMS)连接SQL Server

    下载安装SQL Server Management Studio

    传送门:SSMS下载地址

    连接服务器

    连接地址格式:ip,端口号
    端口号为上面启动容器时配置的主机端口号
    用户名为:sa,密码为上面启动容器时配置的密码

    我这里连接的时候遇到一个小坑,无法正常连接,显示的异常为:“指定的网络名不可再用”,查了半天,没有发现问题,最后发现修改容器运行命令,把宿主主机映射的1433端口改为映射3433端口然后就好了
    可能我用的是云服务器,我第一次操作时先运行容器后配置安全组规则的缘故吧

    四:开启SqlServer代理

    我们用SQL Server Management Studio数据库管理工具连接我们数据库后会发现代理功能是禁用的,这样会使我们的数据库作业无法使用
    所以我们要开启代理服务

    进入SqlServer容器(Linux 上运行的SqlServer 基于Ubuntu的,所以进入容器后就相当进入了一个Ubuntu系统)

    docker exec -it <容器名称或ID> "bash"
    

    开启代理(下面这个路径不是自己自定义的路径,不要与上面的路径混淆)

    /var/opt/mssql/bin/mssql-conf set sqlagent.enabled true
    

    退出容器

    exit
    

    重启容器

    docker stop <容器名称或ID>
    docker start <容器名称或ID>
    

    代理开启成功我我们再次用SQL Server Management Studio连接数据库,可以看到,代理也已经成功启动

    五:总结

    经过上面的步骤,用Docker容器安装配置 SQL Server 服务就已经大功告成了。不得不说Docker的强大,如果你熟练使用Docker,你会发现在服务器上面用Docker配置一个SQL Server 服务器一间非常方便快捷而且简单的事情,我们只需要:下载镜像,运行镜像,开启代理三步即可完成,完全不用像之前担心服务的系统由于环境问题或者软件版本等问题无法正常安装SQL Server 服务器。

    参考文档:

    微软官方文档1
    微软官方文档2
    Docker官方文档
    Docker中文文档

  • 相关阅读:
    永恒之蓝漏洞复现及留下隐藏后门nc及关闭主机防护开启后门
    python实现的分离免杀(包含pyinstaller的安装与使用)
    免杀一句话木马,人才太多了
    cs利用smb上线出网与不出网主机
    linux反弹shell的各种姿势
    使用frp把目标端口的服务代理出来
    使用frp进行内网穿透(内网隧道搭建)
    CS与msf的shell互相传递
    Python 图形验证码识别与利用
    Python Selenium 渗透测试中的使用
  • 原文地址:https://www.cnblogs.com/ruanraun/p/DockerSqlServer.html
Copyright © 2011-2022 走看看