前一節演示在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)(二)
因為上邊的容器都使用了bridge網橋連接,你會發現在原來的Nginx組態檔當中繼續使用Ip映射已經失效了,所以需要把原來的Ip改為容器名!
這里直接修改 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 添加一條資料!

資料添加成功!
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/195855.html
標籤:.NET技术
上一篇:C#資料庫操作類
