日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

Docker-Compose 一键部署Ningx+.Net Core+Redis集群

發布時間:2023/12/4 asp.net 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker-Compose 一键部署Ningx+.Net Core+Redis集群 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在看該文章前,你需要對Docker有所了解。

1、創建WebApp應用程序

?我使用的是.Net Core 1.0.1版本,創建一個MVC應用程序,并添加對Redis的引用。因為這些很基礎,也很簡單,這里就不詳細說明了,特別提一下有關多站點會話保持問題,這里介紹兩種方式,一種方式就是使用我博客里所說的方法?http://www.cnblogs.com/anech/p/6873604.html,還有一種方式就是采用Nginx代理的會話保持方案。

2、創建WebApp的Dockerfile文件


FROM microsoft/aspnetcore:1.0.1 ENTRYPOINT [ "dotnet" ,? "TestCentOS.dll" ] ARG source=. ARG port=80 ENV ASPNETCORE_URLS http: //+:$port WORKDIR /app EXPOSE $port COPY $source .

  大意就是:使用microsoft/aspnetcore:1.0.1基礎鏡像創建一個新的鏡像,鏡像在運行的時候執行dotnet?TestCentOS.dll命令啟動程序程序,把當前目錄下的文件復制到鏡像中,并暴露一個指定的端口,如果未指定使用默認80端口。

3、創建Nginx的Dockerfile文件


FROM nginx EXPOSE 80 COPY? default .conf /etc/nginx/conf.d/

  大意是:基于nginx基礎鏡像創建一個新的鏡像,對外暴露80端口,并把當前目錄下的default.conf復制到鏡像的/etc/nginx/conf.d/目錄下。

default.conf文件內容:


upstream webapp{ ? server weba:80 max_fails=3 fail_timeout=20s;?? ? server webb:80 max_fails=3 fail_timeout=20s; } ? server { ????? listen?????? 80 default_server; ????? listen?????? [::]:80 default_server; ????? server_name? _; ????? location / { ????? proxy_pass http: //webapp/; ????? proxy_http_version 1.1; ????? proxy_set_header Upgrade $http_upgrade; ????? proxy_set_header Connection keep-alive; ????? proxy_set_header Host $host; ????? proxy_cache_bypass $http_upgrade; ????? } ????? error_page 404 /404.html; ????????? location = /40x.html { ????? } ????? error_page 500 502 503 504 /50x.html; ????????? location = /50x.html { ????? } ? }

  這里是對nignx進行負載配置,配置兩個應用的地址。

4、創建docker-compose.yml文件


version:? '2' services: ?? nginx: ???? image: testnginx #??? build: #????? context: . #????? dockerfile: NginxDockerfile ???? ports: ?????? -? "5000:80" ???? links: ?????? - weba ?????? - webb????? ?? weba: ???? image: testweb #??? build: #????? context: . #????? dockerfile: Dockerfile ???? expose: ?????? -? "80" ???? links: ?????? - redis ?? webb: ???? image: testweb #??? build: #????? context: . #????? dockerfile: Dockerfile ???? expose: ?????? -? "80" ???? links: ?????? - redis ?? redis: ???? image: redis ???? expose: ?????? - 6379

這里為了方便,我先執行上邊的Dockerfile文件創建了一個.net core應用的鏡像testweb和Nginx鏡像testnginx,然后我們在創建集群的時候都使用這兩個鏡像。也可以省去這一步,直接使用Dockerfile來創建,此時會創建三個鏡像,因為我們這里部署了兩個應用weba和webb應用和一個nginx。

這個yml文件的大意是:創建并啟動4個容器,一個nginx容器,兩個webapp容器,一個redis容器,nginx對外暴露端口80與本機的5000端口映射,nginx容器可以訪問兩個webapp容器,兩個webapp容器都可以訪問redis容器。這樣我們就實現了Nginx代理請求,并分發至后端兩個webapp應用,兩個webapp應用使用redis服務。

5、執行docker-compose.yml文件

1 docker-compose up

?該命令十分強大,它將嘗試自動完成包括構建鏡像,(重新)創建服務,啟動服 務,并關聯服務相關容器的一系列操作?! ?/p>

此時訪問http://localhost:5000/ 便可看到效果。

原文地址:http://www.cnblogs.com/anech/p/6873828.html


.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

總結

以上是生活随笔為你收集整理的Docker-Compose 一键部署Ningx+.Net Core+Redis集群的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。