Browse Source

fix: docker-compose 依赖sh命令启动 windows启动失败的bug

SliverHorn 3 years ago
parent
commit
087658fb18
3 changed files with 134 additions and 97 deletions
  1. 0 88
      .docker-compose/shell/server-handle.sh
  2. 2 9
      dockerfile_server
  3. 132 0
      server/config.docker.yaml

+ 0 - 88
.docker-compose/shell/server-handle.sh

@@ -1,88 +0,0 @@
-#! /bin/bash
-
-rm -f ./config.yaml
-# 生成config.yaml文件, 用于docker-compose的使用
-touch ./config.yaml
-filename="./config.yaml"
-cat>"${filename}"<<EOF
-# Gin-Vue-Admin Global Configuration
-
-# jwt configuration
-jwt:
-  signing-key: 'qmPlus'
-  expires-time: 604800
-  buffer-time: 86400
-
-# zap logger configuration
-zap:
-  level: 'info'
-  format: 'console'
-  prefix: '[GIN-VUE-ADMIN]'
-  director: 'log'
-  link-name: 'latest_log'
-  show-line: true
-  encode-level: 'LowercaseColorLevelEncoder'
-  stacktrace-key: 'stacktrace'
-  log-in-console: true
-
-# redis configuration
-redis:
-  db: 0
-  addr: '177.7.0.14:6379'
-  password: ''
-
-# email configuration
-email:
-  to: '[email protected]'
-  port: 465
-  from: '[email protected]'
-  host: 'smtp.163.com'
-  is-ssl: true
-  secret: 'xxx'
-  nickname: 'test'
-
-# casbin configuration
-casbin:
-  model-path: './resource/rbac_model.conf'
-
-# system configuration
-system:
-  env: 'public'  # Change to "develop" to skip authentication for development mode
-  addr: 8888
-  db-type: 'mysql'
-  oss-type: 'local'
-  use-multipoint: false
-
-# captcha configuration
-captcha:
-  key-long: 6
-  img-width: 240
-  img-height: 80
-
-# mysql connect configuration
-mysql:
-  path: ''
-  config: ''
-  db-name: ''
-  username: ''
-  password: ''
-  max-idle-conns: 10
-  max-open-conns: 100
-  log-mode: false
-  log-zap: ""
-
-# local configuration
-local:
-  path: 'uploads/file'
-
-# qiniu configuration (请自行七牛申请对应的 公钥 私钥 bucket 和 域名地址)
-qiniu:
-  zone: 'ZoneHuadong'
-  bucket: 'qm-plus-img'
-  img-path: 'http://qmplusimg.henrongyi.top'
-  use-https: false
-  access-key: '25j8dYBZ2wuiy0yhwShytjZDTX662b8xiFguwxzZ'
-  secret-key: 'pgdbqEsf7ooZh7W3xokP833h3dZ_VecFXPDeG5JY'
-  use-cdn-domains: false
-EOF
-

+ 2 - 9
dockerfile_server

@@ -5,13 +5,6 @@ ENV GOPROXY=https://goproxy.io,direct
 WORKDIR /go/src/gin-vue-admin
 COPY server/ ./
 
-RUN cat ./config.yaml
-COPY .docker-compose/shell/server-handle.sh .
-RUN ls -al
-RUN sh ./server-handle.sh
-RUN rm -f server-handle.sh
-RUN cat ./config.yaml
-
 RUN go env && go mod tidy && go build -o server .
 
 FROM alpine:latest
@@ -20,9 +13,9 @@ LABEL MAINTAINER="SliverHorn@[email protected]"
 WORKDIR /go/src/gin-vue-admin
 
 COPY --from=0 /go/src/gin-vue-admin/server ./
-COPY --from=0 /go/src/gin-vue-admin/config.yaml ./
+COPY --from=0 /go/src/gin-vue-admin/config.docker.yaml ./
 COPY --from=0 /go/src/gin-vue-admin/resource ./resource
 
 EXPOSE 8888
 
-ENTRYPOINT ./server
+ENTRYPOINT ./server -c config.docker.yaml

+ 132 - 0
server/config.docker.yaml

@@ -0,0 +1,132 @@
+# Gin-Vue-Admin Global Configuration
+
+# jwt configuration
+jwt:
+  signing-key: 'qmPlus'
+  expires-time: 604800
+  buffer-time: 86400
+
+# zap logger configuration
+zap:
+  level: 'info'
+  format: 'console'
+  prefix: '[GIN-VUE-ADMIN]'
+  director: 'log'
+  link-name: 'latest_log'
+  show-line: true
+  encode-level: 'LowercaseColorLevelEncoder'
+  stacktrace-key: 'stacktrace'
+  log-in-console: true
+
+# redis configuration
+redis:
+  db: 0
+  addr: '177.7.0.14:6379'
+  password: ''
+
+# email configuration
+email:
+  to: '[email protected]'
+  port: 465
+  from: '[email protected]'
+  host: 'smtp.163.com'
+  is-ssl: true
+  secret: 'xxx'
+  nickname: 'test'
+
+# casbin configuration
+casbin:
+  model-path: './resource/rbac_model.conf'
+
+# system configuration
+system:
+  env: 'public'  # Change to "develop" to skip authentication for development mode
+  addr: 8888
+  db-type: 'mysql'
+  oss-type: 'local'    # 控制oss选择走本期还是 七牛等其他仓 自行增加其他oss仓可以在 server/utils/upload/upload.go 中 NewOss函数配置
+  use-multipoint: false
+
+# captcha configuration
+captcha:
+  key-long: 6
+  img-width: 240
+  img-height: 80
+
+# mysql connect configuration
+mysql:
+  path: ''
+  config: ''
+  db-name: ''
+  username: ''
+  password: ''
+  max-idle-conns: 10
+  max-open-conns: 100
+  log-mode: false
+  log-zap: ""
+
+# local configuration
+local:
+  path: 'uploads/file'
+
+# autocode configuration
+autocode:
+  transfer-restart: true
+  root: ""
+  server: /server
+  server-api: /api/v1
+  server-initialize: /initialize
+  server-model: /model
+  server-request: /model/request/
+  server-router: /router
+  server-service: /service
+  web: /web/src
+  web-api: /api
+  web-flow: /view
+  web-form: /view
+  web-table: /view
+
+# qiniu configuration (请自行七牛申请对应的 公钥 私钥 bucket 和 域名地址)
+qiniu:
+  zone: 'ZoneHuaDong'
+  bucket: ''
+  img-path: ''
+  use-https: false
+  access-key: ''
+  secret-key: ''
+  use-cdn-domains: false
+
+
+# aliyun oss configuration
+aliyun-oss:
+  endpoint: 'yourEndpoint'
+  access-key-id: 'yourAccessKeyId'
+  access-key-secret: 'yourAccessKeySecret'
+  bucket-name: 'yourBucketName'
+  bucket-url: 'yourBucketUrl'
+
+# tencent cos configuration
+tencent-cos:
+  bucket: 'xxxxx-10005608'
+  region: 'ap-shanghai'
+  secret-id: 'xxxxxxxx'
+  secret-key: 'xxxxxxxx'
+  base-url: 'https://gin.vue.admin'
+  path-prefix: 'gin-vue-admin'
+
+# excel configuration
+excel:
+  dir: './resource/excel/'
+
+
+# timer task db clear table
+Timer:
+  start: true
+  spec: "@daily"  # 定时任务详细配置参考 https://pkg.go.dev/github.com/robfig/cron/v3
+  detail: [
+    # tableName: 需要清理的表名
+    # compareField: 需要比较时间的字段
+    # interval: 时间间隔, 具体配置详看 time.ParseDuration() 中字符串表示 且不能为负数
+    # 2160h = 24 * 30 * 3 -> 三个月
+    { tableName: "sys_operation_records" , compareField: "created_at", interval: "2160h" },
+    #{ tableName: "log2" , compareField: "created_at", interval: "2160h" }
+  ]