Nginx系列——容器/微服务

Posted 标配的小号

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx系列——容器/微服务相关的知识,希望对你有一定的参考价值。

Containers/Microservices
容器/微服务
Using the Official nginx Image
docker run --name my-nginx -p 80:80 -v /path/to/content:/usr/share/nginx/html:ro -d nginx #-v本地目录映射到容器目录,使用只读模式ro。其他的也是一般是本地的在前,容器的在后


Creating an NGINX Dockerfile
Dockerfile:
FROM centos:7
# Install epel repo to get nginx and install nginx
RUN yum -y install epel-release &&
yum -y install nginx
# add local configuration files into the image
ADD /nginx-conf /etc/nginx #配置nginx配置文件
EXPOSE 80 443 #暴露端口
CMD ["nginx"] #启动nginx

The directory structure looks as follows:
.
├── Dockerfile
└── nginx-conf
├── conf.d
│ └── default.conf
├── fastcgi.conf
├── fastcgi_params
├── koi-utf
├── koi-win
├── mime.types
├── nginx.conf
├── scgi_params
├── uwsgi_params
└── win-utf


Using Environment Variables in NGINX
配置如下
daemon off;
env APP_DNS;
include /usr/share/nginx/modules/*.conf;
...
http {
perl_set $upstream_app ‘sub { return $ENV{"APP_DNS"}; }‘; #perl_set需要提前安装ngx_http_perl_module
server {
...
location / {
proxy_pass https://$upstream_app;
}
}
}
相关的dockerfile
FROM centos:7
# Install epel repo to get nginx and install nginx
RUN yum -y install epel-release &&
yum -y install nginx nginx-mod-http-perl
# add local configuration files into the image
ADD /nginx-conf /etc/nginx
EXPOSE 80 443
CMD ["nginx"]

以上是关于Nginx系列——容器/微服务的主要内容,如果未能解决你的问题,请参考以下文章

SpringCloud系列SpringCloud微服务网关概述

docker系列使用docker安装nginx提供web服务

微服务系列----核心

分布式与微服务系列SpringBoot+Zookeeper集群+Nginx反向代理+Dubbo分布式托管(提供者消费者)

架构系列十(负载均衡组件设计实现思考)

Docker教程系列六:Docker上部署Nginx