docker部署ng实现反向代理

场景

按规定尽可能减少开放到外网的端口,所以需要将多个服务部署到一个ip一个端口上。

方案

使用ng实现请求转发。根据http请求中的host与ng配置文件中的server_name匹配,转发到对应的机器上。
在docker上部署三个容器,每个容器中启动一个ng服务(这仨ng服务的欢迎页面不同,用以区分不同服务)。其中一个ng作为反向代理,另外ng作为http服务(之后这俩ng会被替换成其他服务,比如gitlab服务)。

实现

定制镜像

官方ng镜像中没有vim,而公司生产环境的电脑又不能直连互联网,所以需要在本地开发环境将ng镜像修改下然后部署到生产环境。

使用Dockerfile定制镜像。

FROM nginx:latest
RUN apt-get update && \
    apt-get install -y vim && \
    rm -rf /var/lib/apt/lists/*

在Dockerfile所在目录下执行如下命令

docker build -t nginx_wjl

不要使用docker commit定制镜像。具体原因参见《Docker从入门到实践 第三版》

成功定制镜像
在这里插入图片描述

部署

// 创建网络
docker network create ng_net


// 反向代理
docker run --name mynginx0 --network ng_net -p 1080:80 -d nginx_wjl

// 服务1
docker run --name mynginx1 --network ng_net -p 1081:80 -d nginx_wjl

// 服务2
docker run --name mynginx2 --network ng_net -p 1082:80 -d nginx_wjl

修改文件

修改欢迎页面

vim /usr/share/nginx/html/index.html

修改反向代理的配置文件

user  nginx;
worker_processes  auto;

error_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值