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 添加一條數據!

數據添加成功!