编辑 | blame | 历史 | 原始文档

后端系统部署

  1. 开启端口并挂载配置文件,配置文件默认被挂载至宿主机的 /docker 目录下,如需自定义则修改deploy.sh的mount方法便可
    ~~~shell
    [root@JD app]# ./deploy.sh port
    [root@JD app]# ./deploy.sh mount
    ~~~
  2. 执行base服务安装
    ~~~shell
    [root@JD app]# ./deploy.sh base
    ~~~
    ~~~shell
    Creating network "app_blade_net" with driver "bridge"
    Pulling sentinel (bladex/sentinel-dashboard:1.8.0)...
    1.8.0: Pulling from bladex/sentinel-dashboard
    169185f82c45: Already exists
    4346af5b5a4f: Pull complete
    071ce1b99999: Pull complete
    feb8a653dea6: Pull complete
    Digest: sha256:feaae3ddd2c68c4b36164b2b7d7de553198390a9710b9de99737bb238be18ad8
    Status: Downloaded newer image for bladex/sentinel-dashboard:1.8.0
    Pulling seata-server (seataio/seata-server:1.4.1)...
    1.4.1: Pulling from seataio/seata-server
    e7c96db7181b: Pull complete
    f910a506b6cb: Pull complete
    b6abafe80f63: Pull complete
    b4664656b0bb: Pull complete
    faea7c07e119: Pull complete
    005f0d715b5e: Pull complete
    51c7d5252d45: Pull complete
    Digest: sha256:77abcdb2e814f2e9f5b576f13cd729eba9d5b61fb0e85db384756aeb69d97794
    Status: Downloaded newer image for seataio/seata-server:1.4.1
    Pulling blade-nginx (nginx:stable-alpine-perl)...
    stable-alpine-perl: Pulling from library/nginx
    0a6724ff3fcd: Pull complete
    c789c7b72770: Pull complete
    5f28d3d7e606: Pull complete
    74bdfc2a110e: Pull complete
    72e20a6e5d0a: Pull complete
    Digest: sha256:08105e46bc51abf63e9374ac362211733ec5eb19f42288d80427bb144f1918b8
    Status: Downloaded newer image for nginx:stable-alpine-perl
    Pulling blade-redis (redis:5.0.8-alpine)...
    5.0.8-alpine: Pulling from library/redis
    aad63a933944: Pull complete
    541cb024bf66: Pull complete
    270420c343f3: Pull complete
    8dd6c66eb1b0: Pull complete
    782d2f0df1b3: Pull complete
    b0648f46f4c9: Pull complete
    Digest: sha256:511275ddf4c4582e296f6fca803df853a8ab2b733a704c44c498f0a6a90e5ba0
    Status: Downloaded newer image for redis:5.0.8-alpine
    Creating app_nacos_1 ... done
    Creating app_sentinel_1 ... done
    Creating app_seata-server_1 ... done
    Creating app_blade-nginx_1 ... done
    Creating app_web-nginx_1 ... done
    Creating app_blade-redis_1 ... done
    [root@JD app]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    b538c9d68b0c seataio/seata-server:1.4.1 "java -Djava.securit…" 47 seconds ago Up 44 seconds 0.0.0.0:8091->8091/tcp app_seata-server_1
    d86a0d879d6c bladex/sentinel-dashboard:1.8.0 "java -Djava.securit…" 47 seconds ago Up 44 seconds 8719/tcp, 0.0.0.0:8858->8858/tcp app_sentinel_1
    5517acf3afec redis:5.0.8-alpine "docker-entrypoint.s…" 47 seconds ago Up 45 seconds 0.0.0.0:3379->6379/tcp app_blade-redis_1
    b0612d1beaf7 nacos/nacos-server:1.3.2 "bin/docker-startup.…" 47 seconds ago Up 44 seconds 0.0.0.0:8848->8848/tcp app_nacos_1
    bb0546ab889a nginx:stable-alpine-perl "/docker-entrypoint.…" 47 seconds ago Up 45 seconds 80/tcp, 0.0.0.0:8000->8000/tcp app_web-nginx_1
    3ba578afa2d4 nginx:stable-alpine-perl "/docker-entrypoint.…" 47 seconds ago Up 45 seconds 80/tcp, 0.0.0.0:88->88/tcp app_blade-nginx_1
    ~~~
  3. 登录nacos,增加test环境配置文件。注意配置文件的服务ip地址不要填错,常见错误请看:https://sns.bladex.vip/q-41.html
    因为Dockerfile默认配置的是test环境,若需要其他环境,build前自行修改便可
    ![](../../../images/screenshot_1612601905621.png)
  4. 启动admin模块,并访问验证,若成功显示则说明nacos等配置成功,若访问失败可以执行docker logs -f xxx命令来查看具体日志来排查是否配置有误
    ~~~shell
    [root@JD app]# ./deploy.sh monitor
    ~~~
    ~~~shell
    Creating app_blade-admin_1 ... done
    Creating app_blade-turbine_1 ... done
    [root@JD app]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    61de67ea71b1 11x.xx.xx.7/blade/blade-turbine:2.8.0.RELEASE "java -Djava.securit…" 3 seconds ago Up 2 seconds 0.0.0.0:7003->7003/tcp app_blade-turbine_1
    1ef6ac9e2917 11x.xx.xx.7/blade/blade-admin:2.8.0.RELEASE "java -Djava.securit…" 3 seconds ago Up 2 seconds 0.0.0.0:7002->7002/tcp app_blade-admin_1
    1331e65157d8 bladex/sentinel-dashboard:1.8.0 "java -Djava.securit…" About a minute ago Up About a minute 8719/tcp, 0.0.0.0:8858->8858/tcp app_sentinel_1
    78a184428baa seataio/seata-server:1.4.1 "java -Djava.securit…" About a minute ago Up About a minute 0.0.0.0:8091->8091/tcp app_seata-server_1
    740d5daf1065 redis:5.0.8-alpine "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:3379->6379/tcp app_blade-redis_1
    00cacf9338a6 nginx:stable-alpine-perl "/docker-entrypoint.…" About a minute ago Up About a minute 80/tcp, 0.0.0.0:8000->8000/tcp app_web-nginx_1
    32c2744a362f nacos/nacos-server:1.3.2 "bin/docker-startup.…" About a minute ago Up About a minute 0.0.0.0:8848->8848/tcp app_nacos_1
    72266ba3fd31 nginx:stable-alpine-perl "/docker-entrypoint.…" About a minute ago Up About a minute 80/tcp, 0.0.0.0:88->88/tcp app_blade-nginx_1
    ~~~
    ![](../../../images/screenshot_1612602553872.png)
  5. 启动服务模块,由于服务众多,启动完毕时间由不同服务器配置决定,大家可以通过 docker logs -f xxx 命令实时查看不同服务的启动进度,等待全部启动完毕
    ~~~shell
    [root@JD app]# ./deploy.sh modules
    ~~~
    ~~~shell
    Creating app_blade-swagger_1 ... done
    Creating app_blade-gateway1_1 ... done
    Creating app_blade-gateway2_1 ... done
    Creating app_blade-auth1_1 ... done
    Creating app_blade-auth2_1 ... done
    Creating app_blade-report_1 ... done
    Creating app_blade-log_1 ... done
    Creating app_blade-desk_1 ... done
    Creating app_blade-user_1 ... done
    Creating app_blade-system_1 ... done
    Creating app_blade-flow_1 ... done
    Creating app_blade-flow-design_1 ... done
    Creating app_blade-resource_1 ... done
    [root@JD app]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    ef8f01bb842c 11x.xx.xx.7/blade/blade-auth:2.8.0.RELEASE "java -Djava.securit…" 7 seconds ago Up 3 seconds 8100/tcp app_blade-auth2_1
    a6507da78736 11x.xx.xx.7/blade/blade-flow-design:2.8.0.RELEASE "java -Djava.securit…" 7 seconds ago Up 2 seconds 0.0.0.0:9999->9999/tcp app_blade-flow-design_1
    817ec769c370 11x.xx.xx.7/blade/blade-user:2.8.0.RELEASE "java -Djava.securit…" 7 seconds ago Up 2 seconds 8102/tcp app_blade-user_1
    5c1ec1bf6531 11x.xx.xx.7/blade/blade-gateway:2.8.0.RELEASE "java -Djava.securit…" 7 seconds ago Up 2 seconds 80/tcp app_blade-gateway1_1
    df137b63923b 11x.xx.xx.7/blade/blade-log:2.8.0.RELEASE "java -Djava.securit…" 7 seconds ago Up 2 seconds 8103/tcp app_blade-log_1
    3c79f961269a 11x.xx.xx.7/blade/blade-swagger:2.8.0.RELEASE "java -Djava.securit…" 7 seconds ago Up 2 seconds 0.0.0.0:18000->18000/tcp app_blade-swagger_1
    d492fb8767df 11x.xx.xx.7/blade/blade-gateway:2.8.0.RELEASE "java -Djava.securit…" 7 seconds ago Up 3 seconds 80/tcp app_blade-gateway2_1
    fe2589c8416a 11x.xx.xx.7/blade/blade-resource:2.8.0.RELEASE "java -Djava.securit…" 7 seconds ago Up 3 seconds 8010/tcp app_blade-resource_1
    ab478d01690e 11x.xx.xx.7/blade/blade-system:2.8.0.RELEASE "java -Djava.securit…" 7 seconds ago Up 3 seconds 8106/tcp app_blade-system_1
    6dad9fa38ac4 11x.xx.xx.7/blade/blade-desk:2.8.0.RELEASE "java -Djava.securit…" 7 seconds ago Up 3 seconds 8105/tcp app_blade-desk_1
    1a919cb9962a 11x.xx.xx.7/blade/blade-report:2.8.0.RELEASE "java -Djava.securit…" 7 seconds ago Up 4 seconds 7003/tcp app_blade-report_1
    6cbc3698ad40 11x.xx.xx.7/blade/blade-auth:2.8.0.RELEASE "java -Djava.securit…" 7 seconds ago Up 4 seconds 8100/tcp app_blade-auth1_1
    2c579802671c 11x.xx.xx.7/blade/blade-flow:2.8.0.RELEASE "java -Djava.securit…" 7 seconds ago Up 5 seconds 8008/tcp app_blade-flow_1
    61de67ea71b1 11x.xx.xx.7/blade/blade-turbine:2.8.0.RELEASE "java -Djava.securit…" 4 minutes ago Up 4 minutes 0.0.0.0:7003->7003/tcp app_blade-turbine_1
    1ef6ac9e2917 11x.xx.xx.7/blade/blade-admin:2.8.0.RELEASE "java -Djava.securit…" 4 minutes ago Up 4 minutes 0.0.0.0:7002->7002/tcp app_blade-admin_1
    1331e65157d8 bladex/sentinel-dashboard:1.8.0 "java -Djava.securit…" 6 minutes ago Up 6 minutes 8719/tcp, 0.0.0.0:8858->8858/tcp app_sentinel_1
    78a184428baa seataio/seata-server:1.4.1 "java -Djava.securit…" 6 minutes ago Up 6 minutes 0.0.0.0:8091->8091/tcp app_seata-server_1
    740d5daf1065 redis:5.0.8-alpine "docker-entrypoint.s…" 6 minutes ago Up 6 minutes 0.0.0.0:3379->6379/tcp app_blade-redis_1
    00cacf9338a6 nginx:stable-alpine-perl "/docker-entrypoint.…" 6 minutes ago Up 6 minutes 80/tcp, 0.0.0.0:8000->8000/tcp app_web-nginx_1
    32c2744a362f nacos/nacos-server:1.3.2 "bin/docker-startup.…" 6 minutes ago Up 6 minutes 0.0.0.0:8848->8848/tcp app_nacos_1
    72266ba3fd31 nginx:stable-alpine-perl "/docker-entrypoint.…" 6 minutes ago Up 6 minutes 80/tcp, 0.0.0.0:88->88/tcp app_blade-nginx_1
    ~~~
  6. 打开nacos与admin,可以看到服务均已注册成功
    ![](../../../images/screenshot_1612606143861.png)
    ![](../../../images/screenshot_1612606133887.png)
  7. 访问swagger进行调用 http://服务器ip:18000 ,具体调用方式以及注意点请看 5.1.3章节
    ![](../../../images/screenshot_1612606691308.png)
    ![](../../../images/screenshot_1612606913868.png)
  8. 由于knife4j新版本有bug,钩上个性化配置后刷新页面会丢失配置,目前需要关闭标签再打开才会开启增强配置
    ![](../../../images/screenshot_1612606999071.png)
  9. blade-swagger服务已经独立,需要有单独的配置,若需要自定义配置,可以到nacos新建独立的blade-swagger-xx.yaml配置文件并加上自定义配置 。
    注意⚠️:通过docker部署,bladex脚本会使用nginx对Gateway进行反向代理, 端口号为 88
    ![](../../../images/screenshot_1612607100553.png)
    ![](../../../images/screenshot_1612607130365.png)
  10. 使用postman进行调用,结果正确无误,具体调用注意点请看:https://sns.bladex.vip/article-14982.html
    **注意⚠️:通过docker部署,bladex脚本会使用nginx对Gateway进行反向代理, 端口号为 88,调用地址会变成 http://服务器ip:88/blade-auth/oauth/token**
    ![](../../../images/screenshot_1612606298760.png)
  11. swagger与postman调用均成功,则说明后端部署完毕,下面我们来看前端部署