Docker学习笔记之--.Net Core项目容器连接mssql容器(环境:centos7)
前一节演示在docker中安装mssql,地址:Docker学习笔记之--安装mssql(Sql Server)并使用Navicat连接测试(环境:centos7)
本节演示 .Net Core项目容器和 mssql容器之间的互联互通!
1,创建一个bridge模式的网桥,将网桥连接到mssql容器
2,更改.Net Core项目 数据库连接配置文件,并生成镜像,创建一个新的容器并连接到bridge网桥
3,更改Nginx反向代理配置文件,连接到bridge网桥, 并重启Nginx
第一步:创建bridge网桥,将网桥连接到mssql容器
使用 docker network ls 查看容器默认支持网络
docker network ls

使用docker network create xxx 创建自定义网桥网络,默认就是bridge模式
docker network create test_network

把这个网桥连接Sql Server 的容器
docker network connect test_network mssqlserver

第二步:更改.NetCore项目数据库连接配置文件,并创建容器
将连接字符串当中 Data Source对应的地址改为 mssql的容器名称,例如本示例中的:mssqlserver

然后重新生成镜像文件
docker build -t myapidemo:1.0 .

接下来创建容器,注意了!、注意了!注意了!
创建容器的时候一定要指定网桥 --network=test_network 表示将该容器连接到 test_network 网桥
docker run --name=myapidemo -d -p 9020:80 --network=test_network myapidemo:1.0

从上图可以看到,容器成功运行!但是如何验证 应用项目容器 是否和 mssqlserver容器链接上了呢?
很简单,通过应用接口向数据库插入一条数据,如果插入成功,不就证明链接成功了么!

看,数据成功的插入到数据库了!

以上作为测试可以,但正式项目中还是要用Nginx来反向代理!
第三步:更改Nginx反向代理配置文件,连接到bridge网桥, 并重启Nginx
前边章节已经演示过如何配置Nginx反向代理,这里就不重复演示了!
参考:Docker学习笔记之-部署.Net Core 3.1项目到Docker容器,并使用Nginx反向代理(CentOS7)(二)
这里直接修改 root/nginx/conf 路径下的 default.conf 文件


将 proxy_pass 后边的 IP地址 修改为 .net Core项目的容器名,如下:http://myapidemo:80
server {
listen 80;
charset utf-8;
server_name myapidemo;
location / {
proxy_pass http://myapidemo:80;
proxy_redirect default;
# root /usr/share/nginx/html;
# index index.html index.htm;
}
}
修改完后,保存退出!并重启 Nginx容器
docker restart nginxapi

然后使用Nginx代理的端口4030 添加一条数据!

数据添加成功!

Docker学习笔记之--.Net Core项目容器连接mssql容器(环境:centos7)的更多相关文章
- Docker学习笔记之--.Net Core应用容器通过网桥连接Redis容器(环境:centos7)
上节演示通过应用容器连接sql server容器,连接:Docker学习笔记之--.Net Core项目容器连接mssql容器(环境:centos7) 本节演示安装 redis容器,通过网桥连接 先决 ...
- Docker学习笔记(二):端口映射与容器互联
端口映射 使用docker run时,可以指定-P(大写)与-p(小写)参数映射端口. docker run -P -P(大写)会随机映射一个端口到容器的内部端口 -> [feifei@ffma ...
- Docker学习笔记之-部署.Net Core 3.1项目到Docker容器,并使用Nginx反向代理(CentOS7)(一)
上一节演示如何安装Docker,链接:Docker学习笔记之-在CentOS中安装Docker 本节演示 将.net core 3.1 部署到docker容器当中,并使用 Nginx反向代理,部署平台 ...
- Docker学习笔记 - Docker容器内部署redis
Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis- ...
- Docker学习笔记之--安装mssql(Sql Server)并使用Navicat连接测试(环境:centos7)
前一节演示如何使用Nginx反向代理 .net Core项目容器,地址:Docker学习笔记之-部署.Net Core 3.1项目到Docker容器,并使用Nginx反向代理(CentOS7)(二) ...
- docker~学习笔记索引
回到占占推荐博客索引 使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索! docker~学习笔记索引 docker~linux下的部署和基本命令(2017 ...
- docker学习笔记(3)- 镜像
简介 在docker学习笔记(1)- 架构概述一节中可以看到镜像是docker三大组件之一,可以将Docker镜像类比为虚拟机的模版. 镜像由多个层组成,每层叠加之后从外部看就像一个独立的对象,镜像的 ...
- Docker 学习笔记(CentOS 7.1)
基本概念 Docker 包括三个基本概念 镜像(Image) 容器(Container) 仓库(Repository)理解了这三个概念,就理解了 Docker 的整个生命周期. Docker 镜像 D ...
- docker学习笔记1 -- 安装和配置
技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...
随机推荐
- vue学习02-v-text
vue学习02-v-text 引入环境版本,cdn网络引用或者本地js应用 html的结构,一般是div 创建vue实例 el:挂载点 v-text指令的作用是设置标签的内容 默认写法会替换全部内容, ...
- golang开发:select多路选择
select 是 Golang 中的一个控制结构,语法上类似于switch 语句,只不过select是用于 goroutine 间通信的 ,每个 case 必须是一个通信操作,要么是发送要么是接收,s ...
- 文件上传限制条件(JS、后缀、文件名、类型、截断)绕过及修复建议
在现代互联网的Web应用程序中,上传文件是一 种常见的功能,因为它有助于提高业务效率,比如企业的OA系统,允许用户上传图片.视频.头像和许多其他类型的文件.然而向用户提供的功能越多,Web应用受到攻击 ...
- JavaScript的this到底代表谁?(this指向哪里?)
在很多编程语言中都有this这个特殊关键字的存在,比如Java中的this,还有本文要说到的JavaScript中的this.那么,JavaScript中this究竟有什么特性和用法呢?它又是如何定义 ...
- 使用模拟退火算法优化 Hash 函数
背景 现有个处理股票行情消息的系统,其架构如下: 由于数据量巨大,系统中启动了 15 个线程来消费行情消息.消息分配的策略较为简单:对 symbol 的 hashCode 取模,将消息分配给其中一个线 ...
- Mysql中把varchar类型的字段转化为tinyint类型的字段
因为之前不知道tinyint类型的用法,所以将一些状态属性字段类型设置成了varchar类型,然后用"是"和"否"来判断状态 后来了解到了tinyint,就想试 ...
- 023 01 Android 零基础入门 01 Java基础语法 03 Java运算符 03 算术运算符之——自增自减运算符
023 01 Android 零基础入门 01 Java基础语法 03 Java运算符 03 算术运算符之--自增自减运算符 本文知识点:Java算术运算符中的自增自减运算符 自增自减运算符 之前我们 ...
- Ubuntu通过Nginx安装Webdav
使用KeePass保存密码,在个人服务器上安装WebDav协议. # nginx nginx-extras apache2-utils sudo aptitude install nginx ngin ...
- 使用Appium进行iOS的真机自动化测试
windows不支持appium连接ios,只适用于mac 使用Appium进行iOS的真机自动化测试 安装类库 Homebrew 如果没有安装过Homebrew,先安装[ homebrew ] np ...
- 达梦产品技术支持培训-day2-DM8常用SQL
(本文只作为随笔或个人笔记,非官方文档,请勿作他用,谢谢) DM8数据库的SQL兼容性很高,和Oracle差距不大,以下是个人认为比较关键的部分. 1.关键动词 create --新建 drop -- ...