Dockerfile打包nginx镜像

Dockerfile:

FROM nginxENV WORK_DIR /project
ENV GATEWAY_IP=127.0.0.1USER root
RUN mkdir ${WORK_DIR}#拷贝前端项目
ADD chinaunicom-digitward-portal-web-view.tar.gz ${WORK_DIR}
ADD mdt-view.tar.gz ${WORK_DIR}
ADD unicom-cloud-medical-admin-view.tar.gz ${WORK_DIR}#拷贝nginx配置文件
COPY nginx.conf /etc/nginx/nginx.conf
COPY 80.conf /etc/nginx/conf.d/default.confEXPOSE 80
#将 default.conf 内的${GATEWAY_IP}替换为环境变量的值(K8s部署的时候后端的ip地址时不固定的,需要动态读取)
CMD ["/bin/bash", "-c", "envsubst '${GATEWAY_IP}' < /etc/nginx/conf.d/default.conf > temp.conf; mv temp.conf /etc/nginx/conf.d/default.conf; nginx -g \"daemon off;\""]           

default.conf配置

server {listen 80;# 统一规则的前端代理location ~ /.*-view {root /project;index index.html index.htm;}# 统一规则的前端代理location / {#访问根路径时跳转至 对应的路径   #$scheme读取请求的类型如:http,https #$http_host 读取请求域名和端口return 301 $scheme://$http_host/web-view/#/login?UMSLogin=true&appUMSId=mdt;}#病房网关 Websockerlocation /digit_ward_gateway/.*/ws {proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $http_host;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_read_timeout 3600;proxy_pass http://${GATEWAY_IP}:7777/;
}# 数字化病房网关服务location /digit_ward_gateway/ {proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header Host $proxy_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_pass http://${GATEWAY_IP}:7777/;}# location /browser/ {#proxy_set_header   X-Forwarded-Proto $scheme;#proxy_set_header   Host              $http_host;#proxy_set_header   X-Real-IP         $remote_addr;#proxy_pass  ${SW_COLLECTOR};#}
}

nginx.conf

user  nginx;
worker_processes  auto;error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       /etc/nginx/mime.types;default_type  application/octet-stream;charset  utf-8;server_tokens off;#允许websocketmap $http_upgrade $connection_upgrade {default         keep-alive;'websocket'     upgrade;}log_format  access_json  '{"@timestamp":"$time_iso8601",''"@version":"1",''"client":"$remote_addr",''"url":"$uri",''"status":"$status",''"domain":"$host",''"host":"$server_addr",''"size":"$body_bytes_sent",''"responsentime":"$request_time",''"referer":"$http_referer",''"useragent":"$http_user_agent",''"upstreampstatus":"$upstream_status",''"upstreamaddr":"$upstream_addr",''"upstreamresponsetime":"$upstream_response_time"''}';access_log  /var/log/nginx/access.log  access_json;keepalive_timeout 3600;send_timeout 300;sendfile        on;client_max_body_size 10G;client_body_buffer_size 2m;fastcgi_connect_timeout 1800;fastcgi_send_timeout    1800;fastcgi_read_timeout    1800;fastcgi_buffer_size 64k;fastcgi_buffers 8 128k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_write_size 128k;proxy_connect_timeout   3600;proxy_send_timeout      1800;proxy_read_timeout      1800;gzip on;gzip_min_length 1k;gzip_buffers 4 16k;gzip_http_version 1.1;gzip_comp_level 3;gzip_types text/plain application/json application/javascript application/x-javascript application/css application/xml application/xml+rss text/javascript application/x-httpd-php image/jpeg image/gif image/png image/x-ms-bmp application/wasm;gzip_vary off;include /etc/nginx/conf.d/*.conf;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/80709.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 基本语法

相关内容 代码行 单行代码 每行代码结尾不需要加标点 a 123多行换行 多行代码&#xff0c;直接换行 a 123 b a 1复杂过长的计算、操作可用括号然后缩进换行 income (gross_wages taxable_interest (dividends - qualified_dividends)- ira_deduction- student_loan_…

Python Union联合类型注解

视频版教程 Python3零基础7天入门实战视频教程 我们看下如下的示例&#xff1a; my_list2: list[int] [1, 2, 3, 4] my_dict2: dict[str, float] {"python222": 3.14, "java1234": 4.35} l1 [1, "python222", True] # 如何注解多种元素类型…

高速DSP系统设计参考指南(二)传输线(TL)效应

&#xff08;二&#xff09;传输线&#xff08;TL&#xff09;效应 1. 概述2. 传输线理论3. 并行终端仿真4. 传输线的目标阻抗5. TL仿真和实验结果对比5.1 无负载或源端接的传输线5.2 传输线源端串联 6. 接地网络对传输线的影响 1. 概述 传输线(TL)效应是高速 DSP 系统中噪声问…

mysql组合索引详解

组合索引 什么是组合索引组合索引具体使用组合索引注意事项 什么是组合索引 索引是一种数据结构&#xff0c;用于优化数据库查询速度&#xff0c;而组合索引指的是在 数据库中使用多个字段来创建一个索引。这种类型的索引允许数据库 更快地检索和排序数据&#xff0c;特别是…

如何修改jupyter notebook默认打开路径

1、用jupyter notebook在其他位置打开自己的ipython项目&#xff1a; jupyter notebook是一个很好用的工具&#xff0c;可以保存运行结果&#xff0c;还可以给项目添加很多可视化操作与介绍文字。安装anaconda后&#xff0c;jupyter notebook就会自动安装&#xff0c;点开它会…

忘记VMware vcenter的Administrator@vsphere.local密码

忘记VMware vcenter的Administratorvsphere.local密码的解决办法 一、 重置密码&#xff1a; ssh root192.168.230.100 Connecting to 192.168.230.100:22... Connection established. To escape to local shell, press CtrlAlt]. VMware vCenter Server Appliance 6.7.0.4400…

读书笔记:《读懂会计学》

银行&#xff08;意大利&#xff09; 意大利的银行面向威尼斯商人提供无现金服务和货币兑换服务。 基督教禁止收利息&#xff1a; 利用犹太人收取利息歪曲利息为&#xff0c;用在其他地方会得到的收益&#xff0c;即机会成本 商人使用卖商品的钱偿还货款&#xff0c;而进货…

three.js简单3D图形的使用

npm init vitelatest //创建一个vite的脚手架 选择 Vanilla 之后自己处理一下 在main.js中写入 // 导入three.js import * as THREE from three// 创建场景 const scene new THREE.Scene();// 创建相机 const camera new THREE.PerspectiveCamera(45, //视角window.inner…

MS SQL Server问题汇总

1.报SQL Server Agent连接不上的错误 15:38:57.991 [debezium-sqlserverconnector-sqlserver_transaction_log_source-change-event-source-coordinator] WARN i.d.connector.sqlserver.SqlServerStreamingChangeEventSource - No maximum LSN recorded in the database; pl…

电商平台API接口采集电商平台淘宝天猫京东拼多多数据获取产品详情信息,销量,价格,sku案例

淘宝SKU详情接口是指&#xff0c;获取指定商品的SKU&#xff08;Stock Keeping Unit&#xff0c;即库存量单位&#xff09;的详细信息。SKU是指提供不同的商品参数组合的一个机制&#xff0c;通过不同的SKU来标识商品的不同组合形式&#xff0c;如颜色、尺寸等。SKU详情接口可以…

使用VMware 16 安装银河麒麟V10 --九五小庞

1.下载 银河麒麟系统V10 服务版镜像包&#xff1a; Kylin-Server-10-SP1-Release-Build04-20200711-x86_64.iso 百度云盘链接&#xff1a;https://pan.baidu.com/s/1z0GCEadvefUA8R988qDP5Q 提取码&#xff1a;1l0g 2.运行VMware Workstation&#xff0c;创建新的虚拟机&…

(三十三)大数据实战——Canal安装部署及其应用案例实战

前言 Canal 是一个开源的MySQL数据库binlog监听和解析框架&#xff0c;用于实时捕获 MySQL数据库的binlog 变更事件&#xff0c;并将其解析成易于消费的数据格式。Canal 可以实时监听 MySQL 数据库的 binlog&#xff0c;并即时捕获数据库的数据变更事件。Canal可以将捕获到的b…

【CCF】第30次csp认证——202305-1重复局面

202305-1重复局面&#xff1a; 问题描述 国际象棋每一个局面可以用大小为 88 的字符数组来表示&#xff0c;其中每一位对应棋盘上的一个格子。六种棋子王、后、车、象、马、兵分别用字母 k、q、r、b、n、p 表示&#xff0c;其中大写字母对应白方、小写字母对应黑方。棋盘上无…

文举论金:9.13黄金原油全面走势分析策略指导。

市场没有绝对&#xff0c;涨跌没有定势&#xff0c;所以&#xff0c;对市场行情的涨跌平衡判断就是你的制胜法宝。欲望&#xff01;有句意大利谚语&#xff1a;让金钱成为我们忠心耿耿的仆人&#xff0c;否则&#xff0c;它就会成为一个专横跋扈的主人。空头&#xff0c;多头都…

Acwing 829. 模拟队列

Acwing 829. 模拟队列 题目描述思路讲解代码展示 题目描述 思路讲解 队列是先进先出&#xff0c;类比排队买饭 代码展示 #include <iostream>using namespace std;const int N 100010;int m; int q[N], hh, tt -1;int main() {cin >> m;while (m -- ){string …

微信小程序——生命周期详解(代码解读)

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

比较字符串和字符

Leetcode 93&#xff08;复原ip地址&#xff09; 比较字符串&#xff08;数字型&#xff09;大致有两种方法&#xff1a; 1、通过Integer.valueOf()转化成数字 class Solution {List<String> result new ArrayList<>();LinkedList<String> temp new Lin…

[uni-app] iOS/Android端 禁止单个页面侧滑返回的处理记录

需要禁止部分页面侧滑返回 iOS端 popGesture 但是实测后, 其实设置popGesture:none 是无效的 真正可以用的是这个 disableSwipeBack android端 别的方案没有逐一尝试, 这边可以在需要禁止的页面的 onBackPress onBackPress() {// 禁止侧滑(但注意也会禁止导航返回,导航返…

算法强训:第三十二天

文章目录 淘宝网店斐波那契凤尾一、淘宝网店IO链接 本题思路:本题是一道简单的语法题,按照题意要求即可。 #include <iostream> using namespace std; int main() {int arr[]={0,31,28,31,30,31,30,31,31,30,31,30,31};int year1,month1,day1,year2,month2,day2;while…

docker 存储挂载比较

docker存储概述 接触 docker 的朋友都知道&#xff0c;docker 镜像是以 layer 概念存在的&#xff0c;一层一层的叠加&#xff0c;最终成为我们需要的镜像。但该镜像的每一层都是 ReadOnly 只读的。只有在我们运行容器的时候才会创建读写层。文件系统的隔离使得&#xff1a; …