Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器。正向代理(VPN)和反向代理的区别在于,VPN代理的是客户端,而nginx代理的是服务端。DAG图(有向无环图)如下:
从官网拉取nginx镜像
docker search nginx docker pull nginx docker images红框处代表nginx镜像已经安装成功 运行nginx镜像
docker run -d --name nginx-6542 -p 6542:80 nginx:latest将nginx.conf文件拷贝到宿主机器
docker cp [id]:/etc/nginx/nginx.conf d:/nginx/nginx.conf修改本机的nginx.conf文件
user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; upstream tomcat_nginx{ server 10.10.11.37:6543 weight=5; server 10.10.11.37:6544 weight=5; server 10.10.11.37:6545 weight=5; } server { listen 80; server_name 10.10.11.37; location /{ proxy_pass http://tomcat_nginx; } } }启动三个tomcat服务器
docker run -d -it -v d:/xxx.war:/usr/local/tomcat/webapps/xxx.war -p 6543:8080 tomcat:latest docker run -d -it -v d:/xxx.war:/usr/local/tomcat/webapps/xxx.war -p 6544:8080 tomcat:latest docker run -d -it -v d:/xxx.war:/usr/local/tomcat/webapps/xxx.war -p 6545:8080 tomcat:latest删除之前的nginx实例
docker stop [id] docker rm [id]将编辑过的nginx文件挂载到容器
docker run -d --name nginx-6542 -v d:/nginx/nginx.conf:/etc/nginx/nginx.conf -p 6542:80 nginx:latest打开浏览器输入:10.10.11.37:6542验证是否成功 验证负载均衡算法 成功。