浏览代码

增加Docker部署配置

李栋 4 年之前
父节点
当前提交
37f89252ab
共有 3 个文件被更改,包括 119 次插入0 次删除
  1. 21 0
      .dockerignore
  2. 14 0
      Dockerfile
  3. 84 0
      nginx.conf

+ 21 - 0
.dockerignore

@@ -0,0 +1,21 @@
+.DS_Store
+node_modules
+/dist
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+yarn.lock
+
+# Editor directories and files
+.idea
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?

+ 14 - 0
Dockerfile

@@ -0,0 +1,14 @@
+FROM node:lts-alpine
+WORKDIR /build
+RUN npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass 
+RUN npm set registry https://registry.npm.taobao.org
+COPY package.json /build/package.json
+RUN npm install
+COPY ./ /build
+RUN npm run build
+
+FROM nginx
+RUN mkdir /app
+COPY --from=0 /build/dist /app
+COPY --from=0 /build/nginx.conf /etc/nginx/nginx.conf
+EXPOSE 80

+ 84 - 0
nginx.conf

@@ -0,0 +1,84 @@
+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;
+  keepalive_timeout  65;
+
+  server {
+    listen       80;
+    server_name  localhost;
+    location / {
+      root   /app;
+      index  index.html;
+      try_files $uri $uri/ /index.html;
+    }
+    location /api/ 
+    {
+        proxy_pass http://midway:7001/;
+        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_set_header REMOTE-HOST $remote_addr;
+
+        #缓存相关配置
+        #proxy_cache cache_one;
+        #proxy_cache_key $host$request_uri$is_args$args;
+        #proxy_cache_valid 200 304 301 302 1h;
+
+        #持久化连接相关配置
+        proxy_connect_timeout 3000s;
+        proxy_read_timeout 86400s;
+        proxy_send_timeout 3000s;
+        #proxy_http_version 1.1;
+        #proxy_set_header Upgrade $http_upgrade;
+        #proxy_set_header Connection "upgrade";
+
+        add_header X-Cache $upstream_cache_status;
+
+        #expires 12h;
+    }
+ 
+    location /adminer/ 
+    {
+        proxy_pass http://adminer:8080/;
+        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_set_header REMOTE-HOST $remote_addr;
+
+        #缓存相关配置
+        #proxy_cache cache_one;
+        #proxy_cache_key $host$request_uri$is_args$args;
+        #proxy_cache_valid 200 304 301 302 1h;
+
+        #持久化连接相关配置
+        proxy_connect_timeout 3000s;
+        proxy_read_timeout 86400s;
+        proxy_send_timeout 3000s;
+        #proxy_http_version 1.1;
+        #proxy_set_header Upgrade $http_upgrade;
+        #proxy_set_header Connection "upgrade";
+
+        add_header X-Cache $upstream_cache_status;
+
+        #expires 12h;
+    }
+       
+    error_page   500 502 503 504  /50x.html;
+    location = /50x.html {
+      root   /usr/share/nginx/html;
+    }
+
+  }
+}