Win10 连接CentOS 8 的Docker容器中 SqlServer数据库
楔子
工作在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 安装步骤
- 下载docker-ce的repo
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo - 安装依赖
yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm - 安装docker-ce
yum install docker-ceclear - 启动docker
systemctl start docker - 查看Docker版本和服务

安装SqlServer Docker(在Docker服务启动之后 )
- SQlServer Docker 官方指导
- 安装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,

- CentOS 中与容器交互
docker exec -it mysqlserver2017 /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P <your_password>

- 到目前为止仅CentOs 可以访问SqlServer
Windows 访问CentOS 8 Ip+1433端口
- 开放端口
firewall-cmd --zone=public --add-port=1433/tcp --permanent - 重启防火墙
firewall-cmd --reload
3.ip addr查看ip

windows->cmd->telnet 192.168.2.2 1433成功访问那么既可访问数据库(如果不成功,关闭防火墙再试systemctl stop firewalld.service)使用DataGrip 连接并访问

End---
Win10 连接CentOS 8 的Docker容器中 SqlServer数据库的更多相关文章
- docker容器中Postgresql 数据库备份
查看运行的容器: docker ps 进入目标容器: docker exec -u root -it 容器名 /bin/bash docker 中,以root用户,创建备份目录,直接执行如下命令, p ...
- docker容器中oracle数据库导出dmp文件
Oracle数据库安装在docker容器中 1首先查看容器 docker ps 2进入oracle容器 docker exec -it 7f0f3f2d4f88 /bin/bash 3导出整个库:这个 ...
- 在CentOS下的docker容器中部署spring boot应用的两种方式
我们通常在 windows 环境下开发 Java,而通常是部署在Linux的服务器中,而CentOS通常是大多数企业的首选,基于Docker的虚拟化容器技术,多数Java应用选择这种方式部署服务.本文 ...
- .NetCore下使用IdentityServer4 & JwtBearer认证授权在CentOS Docker容器中运行遇到的坑及填坑
今天我把WebAPI部署到CentOS Docker容器中运行,发现原有在Windows下允许的JWTBearer配置出现了问题 在Window下我一直使用这个配置,没有问题 services.Add ...
- docker容器中的peewee如何连接已有的容器中的数据库
首先,两个容器必须是在同一网络下,有2个办法. 一个是在同一个docker-compose.yml文件下使用links参数,比如: version: '3' services: redis: imag ...
- docker多个容器连接 将 Rails 程序部署到 Docker 容器中
在docker中使用MySQL数据库 https://yq.aliyun.com/articles/583765 将 Rails 程序部署到 Docker 容器中
- Docker容器中开始.NETCore之路
一.引言 开始写这篇博客前,已经尝试练习过好多次Docker环境安装,.Net Core环境安装了,在这里替腾讯云做一个推广,假如我们想学习.练手.net core 或是Docker却苦于没有开发环境 ...
- Docker容器中开始.Net Core之路
开始写这篇博客前,已经尝试练习过好多次Docker环境安装,.Net Core环境安装了,在这里替腾讯云做一个推广,假如我们想学习.练手.net core 或是Docker却苦于没有开发环境,服务器也 ...
- 在Docker容器中安装jdk和spark
在Docker容器中安装jdk和spark 1.下载jdk和spark 可以使用迅雷等专业下载软件下载jdk和spark软件包,注意是linux版,这里直接给出下载地址: JDK下载地址 JDK进入后 ...
随机推荐
- WCF客户端简单动态配置服务地址
本来想实现WCF服务无论放到哪个机器上,我的客户端都不需要重新编译,只需要配置一个服务的地址即可.各种百度找到了很多解决方案.但都比较繁琐,(只要因为个人小菜看不懂太多的代码)我对WCF内部机制还不了 ...
- Dropout原理与实现
Dropout是深度学习中的一种防止过拟合手段,在面试中也经常会被问到,因此有必要搞懂其原理. 1 Dropout的运作方式 在神经网络的训练过程中,对于一次迭代中的某一层神经网络,先随机选择中的一些 ...
- win10下VSCode+CMake+Clang+GCC环境搭建
win10下VSCode+CMake+Clang+GCC环境搭建 win10下VSCode+CMake+Clang+GCC环境搭建 安装软件 VSCode插件安装 新建文件夹, 开始撸代码 main. ...
- json.dumps和json.loads
概念理解 1.json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串) (1)json.dumps()函数是将一个Python数据类型列表进行json ...
- vue路由跳转的方式
vue路由跳转有四种方式 1. router-link 2. this.$router.push() (函数里面调用) 3. this.$router.replace() (用法同push) 4. t ...
- Python的字符串编码
本文用实验详细地演示了Python2和Python3在字符串编码上的区别. 在Python2中,字符串字面量对应于8位的字符或面向字节编码的字节字面量.这些字符串的一个重要限制是它们无法完全地支持国际 ...
- Java零基础手把手系列:HashMap排序方法一网打尽
HashMap的排序在一开始学习Java的时候,比较容易晕,今天总结了一些常见的方法,一网打尽.HashMap的排序入门,看这篇文章就够了. 1. 概述 本文排序HashMap的键(key)和值(va ...
- 2.RF中scalar,list和dict变量的定义和取值
$:定义scalar变量:@定义list变量:&定义dict变量: $还用来取值,包含scalar, list和dict变量,如下example所示 1.定义scalar变量:set vari ...
- npm install bcrypt报错
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env va ...
- 快速傅里叶变换(FFT)略解
前言 如果我们能用一种时间上比 \(O(n^2)\) 更优秀的方法来计算大整数(函数)的乘法,那就好了.快速傅里叶变换(FFT) 可以帮我们在 \(O(n\log n)\) 的时间内解决问题. 函数乘 ...