Parcourir la source

前端docker构建

Michael Wang il y a 4 ans
Parent
commit
e91e9727f8
4 fichiers modifiés avec 122 ajouts et 0 suppressions
  1. 70 0
      conf/nginx.conf
  2. 33 0
      deploy-readme.md
  3. 13 0
      docker-push.sh
  4. 6 0
      dockerfile

+ 70 - 0
conf/nginx.conf

@@ -0,0 +1,70 @@
+#user  nobody;
+worker_processes  1;
+
+#error_log  error.log;
+#error_log  logs/error.log  notice;
+#error_log  logs/error.log  info;
+
+pid        nginx.pid;
+
+events {
+    worker_connections  1024;
+}
+
+http {
+    include       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  logs/access.log  main;
+
+    sendfile        on;
+    #tcp_nopush     on;
+
+    #keepalive_timeout  0;
+    keepalive_timeout  65;
+
+    gzip  on;
+
+    server {
+        listen       80;
+        #server_name  localhost;
+        #root /Users/michael/Documents/qmth/web-deploy/dist;
+        # root /opt/dist;
+        root .;
+
+        # location /(wap|web) {
+        #     try_files $uri $uri/ /index.html;
+        # }
+
+        location / {
+            try_files $uri $uri/ /index.html;
+        }
+
+        location /admin {
+            try_files $uri $uri/ /index.html;
+        }
+
+        # location ~* /(api|upload) {
+        #     client_max_body_size    20m;
+        #     proxy_set_header Host $host;
+        #     proxy_set_header X-Real-IP $remote_addr;
+        #     proxy_connect_timeout 30s;
+        #     proxy_send_timeout 300s;
+        #     proxy_read_timeout 300s;
+        #     proxy_pass http://localhost:7001;
+        # }
+
+        # error_page  404              /404.html;
+
+        # redirect server error pages to the static page /50x.html
+        #
+        # error_page   500 502 503 504  /50x.html;
+        #location = /50x.html {
+        #    # root   html;
+        #}
+    }
+}

+ 33 - 0
deploy-readme.md

@@ -0,0 +1,33 @@
+# 部署说明
+
+## 分类
+
+本项目分云端部署。
+
+### 构建项目
+
+打包 web 前端资源。
+
+```sh
+npm run build:prod
+```
+
+### 云端部署
+
+#### 确保能登录 docker 私有仓库
+
+```sh
+docker login --username=huyue@qmth registry.cn-shenzhen.aliyuncs.com
+```
+
+#### build/tag/push docker image
+
+**_(重要!!!)首先修改 docker-push.sh 中的 tag。_**
+
+```sh
+./docker-push.sh
+```
+
+### docker container 暴露端口
+
+仅暴露 80 端口供获取静态资源。

+ 13 - 0
docker-push.sh

@@ -0,0 +1,13 @@
+#!/bin/bash
+set -o errexit
+
+# to keep the git history of versions
+tag=1.0.0
+
+# echo $1
+# if [ [ $1 -z ] ]; then
+#   echo 'tag is not set'
+# if
+
+docker build . -t registry.cn-shenzhen.aliyuncs.com/online_exam/web:$tag
+docker push registry.cn-shenzhen.aliyuncs.com/online_exam/web:$tag

+ 6 - 0
dockerfile

@@ -0,0 +1,6 @@
+FROM nginx
+LABEL label="onlineexam" app="web" version="1.0.0" by="wangzhangjun"
+COPY ./dist /opt/dist
+COPY ./conf/* /etc/nginx/
+ENV TZ Asia/Shanghai
+CMD ["nginx","-p","/opt/dist/","-g","daemon off;"]