博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker-Compose一键部署Ningx+Asp.net core站点+Redis
阅读量:7020 次
发布时间:2019-06-28

本文共 2214 字,大约阅读时间需要 7 分钟。

生产环境更新追求快速平稳,Docker-Compose 通过一个配置文件来管理多个Docker容器,在配置文件中services来定义,然后使用脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器的应用场景,实现环境的快速搭建。

1.创建asp.net core示例站点

使用vs2017创建一个Asp.net core MVC站点,引入Redis,主要是为了实现分布式缓存,实现一些演示内容。然后编写dockerfile,创建站点镜像,这些过程有很多参考资料,这里不再赘述。

2.创建docker-compose.yml文件

文件内容如下,创建了两个web站点容器,连接redis容器。 nginx对外暴露端口80,可以访问web1和web2,修改nginx配置,反向代理,分发请求到两个web应用,nginx配置参考3

version: '3'services:   xxx_mvc:        container_name: web        image: registry.cn-shenzhen.aliyuncs.com/xxx/web        environment:            - ASPNETCORE_ENVIRONMENT=Production         expose:            - 80        entrypoint: ["dotnet", "XXX.Web.Mvc.dll"]          restart: always         links:          - redis        volumes:            - "./appsettings.Production.json:/app/appsettings.Production.json"                      xxx_mvc_2:        container_name: web-2        image: registry.cn-shenzhen.aliyuncs.com/xxx/web         environment:            - ASPNETCORE_ENVIRONMENT=Production         expose:            - 80         entrypoint: ["dotnet", "XXX.Web.Mvc.dll"]          restart: always         links:          - redis        volumes:            - "./appsettings.Production.json:/app/appsettings.Production.json"           nginx:      container_name:xxx-nginx      image: nginx      ports:        - "8080:80"       links:        - xxx_mvc:web1        - xxx_mvc_2:web2       restart: always      volumes:        - "./nginx-about/nginx.conf:/etc/nginx/nginx.conf:ro"         redis:      image: redis      restart: always      expose:        - 6379

3.Nginx配置文件

upstream web{    ip_hash;     server web1:80; #1号      server web2:80; #2号 }server {    listen        80;    server_name   example.com *.example.com;    location / {        proxy_pass         http://web;        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;        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;        proxy_set_header   X-Forwarded-Proto $scheme;    }}

4.执行docker-compose up 命令

连接服务器,新建目录上传相关文件后,在目录中执行docker-compose up ,命令成功将自动完成包括服务的创建和启动, 顺利的话,访问 就可以看到站点页面了。

祝好运:)

转载地址:http://xadxl.baihongyu.com/

你可能感兴趣的文章
高性能Web服务之lnmmp架构应用
查看>>
最完美解决Nginx部署ThinkPHP项目的办法
查看>>
python-day1 补充
查看>>
linux 查看进程“打开”的文件或文件对应的进程及网络状态
查看>>
【AndroidSupport】RoundedBitmapDrawable 创建一个圆角图片
查看>>
9月27日28家中国域名商六类国际域名注册保有量统计
查看>>
zabbix监控之lvs
查看>>
百度贴吧在线外链制作
查看>>
如何在阿里云•对象存储OSS托管用户域名的https证书
查看>>
FreeMarker速查手册
查看>>
929. Unique Email Address - LeetCode
查看>>
Cisco 3560 级联端口不通的原因
查看>>
Zend Studio 无法打开的解决办法
查看>>
IEEE 802.3标准
查看>>
[安装程序]HDDScan(硬盘坏道检测工具) 3.3[详细检测你的硬盘信息]
查看>>
我的友情链接
查看>>
Linux基础笔记用户管理
查看>>
用Java集合中的Collections.sort方法对list排序的两种方法
查看>>
利用mysql的注射点得到更多mysql的信息
查看>>
好程序员web前端分享CSS基础篇
查看>>