楔子

工作在win10环境下,使用Docker Windows桌面版容器化SqlServer数据库连接使用(主要是想用Docker),但是同时需要Linux系统测试,win10 下VMware 虚拟机安装CentOS 与Docker冲突(都是虚拟化技术,该冲突可以解决,但是切换麻烦略),想到Win10 Linux 子系统发现也是一样,关键Win10 Linux 子系统安装Docker无法运行,最后干脆在CentOS 虚拟机下安装Docker 然后容器化SqlServer 让外界访问使用

需要步骤(所需工具)

安装 VMware Workstation 15 Pro(略)

虚拟机安装 CentOS 8 建议

  • 内存大于2G (sqlserver 需要服务器的内存至少2G)
  • 网络先设置自动获取(GUI桌面最好,方便手动设置网络而不用进入vi修改网络配置)

Docker 安装步骤

  1. 下载docker-ce的repo
    curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
  2. 安装依赖
    yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
  3. 安装docker-ce
    yum install docker-ceclear
  4. 启动docker
    systemctl start docker
  5. 查看Docker版本和服务

安装SqlServer Docker(在Docker服务启动之后 )

  1. SQlServer Docker 官方指导
  2. 安装sqlserver
  • 执行 docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=sa账户的强密码' -p 1433:1433 --name=mysqlserver2017 -d mcr.microsoft.com/mssql/server:2017-latest
    这里会直接pull sqlserver 2017 的镜像到Docker 并且运行一个name=mysqlserver2017的容器,映射端口为1433(也就是centOS 中可以通过localhost:1433访问该数据库或者Ip地址)
  • 如果没有成功或者容器运行几秒之后停止,原因可能是服务器内存不足2g或者sa密码太弱了 可以查看日志 Docker logs mysqlserver2017
  1. CentOS 中与容器交互 docker exec -it mysqlserver2017 /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P <your_password>
  2. 到目前为止仅CentOs 可以访问SqlServer

Windows 访问CentOS 8 Ip+1433端口

  1. 开放端口 firewall-cmd --zone=public --add-port=1433/tcp --permanent
  2. 重启防火墙 firewall-cmd --reload
    3.ip addr 查看ip
  3. windows->cmd->telnet 192.168.2.2 1433 成功访问那么既可访问数据库(如果不成功,关闭防火墙再试systemctl stop firewalld.service)
  4. 使用DataGrip 连接并访问

    End---

Win10 连接CentOS 8 的Docker容器中 SqlServer数据库的更多相关文章

  1. docker容器中Postgresql 数据库备份

    查看运行的容器: docker ps 进入目标容器: docker exec -u root -it 容器名 /bin/bash docker 中,以root用户,创建备份目录,直接执行如下命令, p ...

  2. docker容器中oracle数据库导出dmp文件

    Oracle数据库安装在docker容器中 1首先查看容器 docker ps 2进入oracle容器 docker exec -it 7f0f3f2d4f88 /bin/bash 3导出整个库:这个 ...

  3. 在CentOS下的docker容器中部署spring boot应用的两种方式

    我们通常在 windows 环境下开发 Java,而通常是部署在Linux的服务器中,而CentOS通常是大多数企业的首选,基于Docker的虚拟化容器技术,多数Java应用选择这种方式部署服务.本文 ...

  4. .NetCore下使用IdentityServer4 & JwtBearer认证授权在CentOS Docker容器中运行遇到的坑及填坑

    今天我把WebAPI部署到CentOS Docker容器中运行,发现原有在Windows下允许的JWTBearer配置出现了问题 在Window下我一直使用这个配置,没有问题 services.Add ...

  5. docker容器中的peewee如何连接已有的容器中的数据库

    首先,两个容器必须是在同一网络下,有2个办法. 一个是在同一个docker-compose.yml文件下使用links参数,比如: version: '3' services: redis: imag ...

  6. docker多个容器连接 将 Rails 程序部署到 Docker 容器中

    在docker中使用MySQL数据库 https://yq.aliyun.com/articles/583765 将 Rails 程序部署到 Docker 容器中

  7. Docker容器中开始.NETCore之路

    一.引言 开始写这篇博客前,已经尝试练习过好多次Docker环境安装,.Net Core环境安装了,在这里替腾讯云做一个推广,假如我们想学习.练手.net core 或是Docker却苦于没有开发环境 ...

  8. Docker容器中开始.Net Core之路

    开始写这篇博客前,已经尝试练习过好多次Docker环境安装,.Net Core环境安装了,在这里替腾讯云做一个推广,假如我们想学习.练手.net core 或是Docker却苦于没有开发环境,服务器也 ...

  9. 在Docker容器中安装jdk和spark

    在Docker容器中安装jdk和spark 1.下载jdk和spark 可以使用迅雷等专业下载软件下载jdk和spark软件包,注意是linux版,这里直接给出下载地址: JDK下载地址 JDK进入后 ...

随机推荐

  1. Java 上传解压zip文件,并且解析文件里面的excel和图片

    需求:上传一个zip文件,zip文件里面包含一个excel和很多图片,需要把excel里面的信息解析出来保存到表中,同时图片也转化成base64保存到数据库表中. PS:为了方便不同水平的开发人员阅读 ...

  2. SpringBootSecurity学习(16)前后端分离版之 OAuth2.0 加密配置

    示例代码的改进 前面使用spring cloud security和spring cloud oauth2写了一个第三方授权的例子,例子非常的简单,主要目的是用来熟悉OAuth2.0 申请授权的整个流 ...

  3. 全网最新最简单的 OpenJDK13 代码编译

    目录 开始咯 1.下载源码 2.安装编译需要的依赖 3.安装 jdk 12 4.检查配置 5.开始编译 6.验证是否成功 回顾 个人博客原文:全网最新最简单的 OpenJDK13 代码编译 最近因写文 ...

  4. MongoDB 学习笔记之 group聚合

    group聚合: key: 分组字段 cond:过滤条件 reduce: curr是当前行 result是每组的结果集 initial : 组变量初始值 finalize: 统计一组后的回调函数 用g ...

  5. 年薪500K工程师告诉你,python都能用来做什么?

    一提到python,大家脑袋中都会想到「数据分析」.「爬虫」.「人工智能」这些词. 其实python并没有像如上所说的这样「专业」.「高深」的应用,对于初学者来说更是可以从一些超简单又有趣的小项目开始 ...

  6. jmeter从获取token开始设计接口

    用自己实习时候的一个项目来实现一下获取token的接口测试 以登录dmp的学科列表为例子: 从登录开始,打开开发者选项 点击登录 在开发者窗口中network xhr Fildder中,看登录时的请求 ...

  7. 用OllyDbg爆破一个小程序

    用OllyDbg爆破一个小程序 一.TraceMe小程序 TraceMe是对用户名.序列号判断是否合法的一个小程序.我们任意输入一组用户名.序列号进行check判断,结果如下: 二.用OllyDbg对 ...

  8. NOIP2011计算系数;

    #include<cmath> #include<algorithm> #include<stdio.h> #include<iostream> #de ...

  9. 【DP合集】tree-knapsack

    Description 给出一个 N 个节点的有根树,点编号 1 ∼ N ,编号为 i 的点有权值 v i .请选出一个包含树根的,点数 不超过 K 的连通块,使得点权和最大. Input 输入的第一 ...

  10. SQL SERVER数据库多条件查询

    例如:查询挂号超500的数据select CONVERT(VARCHAR(10),DGH,23),COUNT(*) from yxhis2017..VTBMZGHMX2017 where bth=0 ...