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项目数据库连接配置文件,并创建容器

将.net core项目中,数据库连接字符串当中 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项目的容器名,如下://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 添加一条数据!

数据添加成功!