使用docker构建nginx实现端口映射
来源:互联网 发布:提取手机号码软件 编辑:程序博客网 时间:2024/05/16 11:16
实验环境:docker 的版本是1.12.3
文件目录结构:
|-docker-compose.yml
|-nginx
-|Dockerfile
-|hc.html
-|index.html
-|pst-http.conf
编写docker-compose.yml文件
version: '2'services: nginx: build: ./nginx ports: - 80:80 networks: jznet: ipv4_address: 172.18.4.30 restart: always access: image: reg-mirror.shie.site/pst-test/access:devsit_0.0.3 networks: jznet: ipv4_address: 172.18.4.24 volumes: - ./logs/access/:/usr/local/tomcat/logs/ environment: - ENV_NAME=devsit - JAVA_OPTS=-Xmx1024m -Xms1024m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+PrintGCDetails -XX:+PrintGCDateStamps expose: - 8080 - 20881 ports: - 9090:8080networks: jznet: driver: bridge ipam: driver: default config: - subnet: 172.18.4.0/26
编写Dockerfile文件
FROM reg-mirror.shie.site/shie-base/nginx:sslRUN rm /etc/nginx/conf.d/default.confRUN rm /etc/nginx/conf.d/ssl.confADD pst-http.conf /etc/nginx/conf.d/pst-http.confADD hc.html /etc/nginx/html/hc.htmlADD index.html /etc/nginx/html/index.html
编写pst-http.conf
upstream access.server { server 172.18.4.24:8080 weight=1 max_fails=3 fail_timeout=60s; } server { listen 80; server_name localhost; location /access { proxy_pass http://access.server/access; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_next_upstream error timeout invalid_header http_502 http_500; } }
hc.html 和index.html里面编写任意内容就可以,以便启动nginx之后可以访问这些页面以作校验
之后使用docker-compose up -d nginx 的命令从基础镜像reg-mirror.shie.site/shie-base/nginx:ssl根据Dockerfile里面的配置构建出我们需要的nginx服务器
当宿主机器里面的nginx启动起来之后,系统外部的用户就可以通过80端口访问acces应用了。
而且当我们需要添加应用的时候我们只需要添加nginx的pst-http.conf一段配置就可以实现对其他应用的端口消息转发。这样一来对于端口的映射管理我们就可以很方便了,而且当我们需要向外网暴露应用的时候只需要暴露nginx的80端口就可以使得宿主机器内的其他应用也实现外网映射功能。
1 0
- 使用docker构建nginx实现端口映射
- docker(17):使用docker构建nginx+phpfpm环境2
- Docker端口映射实现网络访问
- Docker-端口映射实现访问容器
- Docker运行nginx镜像及docker网络端口映射
- 使用Python实现端口映射
- Docker 端口映射
- Docker端口映射
- docker 端口映射
- docker使用mysql时的端口映射问题
- 使用反向代理(Nginx)和隧道转发(SSH)实现内网端口映射
- rhel使用iptables实现端口映射
- 使用docker搭建nginx
- Docker使用-nginx
- docker笔记之构建nginx的Dockerfile
- docker笔记之构建nginx的Dockerfile
- Docker(nginx)镜像构建
- Docker-compose构建nginx反向代理实例
- redis安装(二)
- 常用的linux指令
- POSIX 线程编程指南(四)
- docopt——好用的Python命令行参数解释器
- Android WebView基础开发——Android菜鸟成长日记
- 使用docker构建nginx实现端口映射
- List和List<Object>的区别
- html+js实现图片预加载(异步加载)
- Quzrtz.net-sqlite 数据库持久化配置
- 系统时间错误导致 python requests报错
- PhpStorm侧边栏Project里面只显示文件不显示文件夹
- 23条前端性能优化
- Android中monkey参数详解。
- 第一行代码中Android定位Demo显示经纬度失败原因