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