当前位置:   article > 正文

使用docker-compose编排ruoyi项目_docker compose部署若依后台

docker compose部署若依后台

目录

一、开始部署

1.拉取ruoyi代码

2.拉取node镜像

3.拉取maven镜像

4.在/root/ruoyi/java下写一个Dockerfile用于后端Java环境

5.拉取MySQL,Redis,Nginx镜像

6.在/root/java目录下写一个nginx.conf

7.在/root/ruoyi目录下写docker-compose.yml文件

8.启动

9.浏览器访问


一、开始部署

1.拉取ruoyi代码

mkdir /root/ruoyi

cd /root/ruoyi

git clone https://gitee.com/y_project/RuoYi-Vue.git

①修改ruoyi的配置文件

vim /root/ruoyi/RuoYi-Vue/ruoyi-admin/src/main/resources/application-druid.yml +9

如下图:

vim /root/ruoyi/RuoYi-Vue/ruoyi-admin/src/main/resources/application.yml +71

如下图:

2.拉取node镜像

docker pull node:12

①进入到RuoYi-Vue目录

cd /root/ruoyi/RuoYi-Vue

②启动node镜像

docker run -itd --rm -v ./ruoyi-ui:/opt node:12 /bin/bash

③进入到/opt下(我选择映射在/opt)

root@10cb919b400e:/# cd /opt

③打包前端代码

root@10cb919b400e:/opt# npm install

成功如下图: 

root@10cb919b400e:/opt# npm run build:prod

 成功如下图:

在/root/ruoyi/RuoYi-Vue/ruoyi-ui目录下会生成一个dist目录

3.拉取maven镜像

docker pull maven:3.6.3-openjdk-11

① 启动maven镜像

[root@localhost ~]# docker run -it --rm -v ./RuoYi-Vue:/vue  maven:3.6.3-openjdk-11 /bin/bash

②进入到/vue

root@61d9e34ad172:/# cd /vue/

③打包后端项目

root@61d9e34ad172:/vue# mvn package

成功如下图:

 ④退出maven容器,将/root/ruoyi/RuoYi-Vue/ruoyi-admin/target/ ruoyi-admin.jar移到/ruoyi下

[root@localhost target]# mv ruoyi-admin.jar /root/ruoyi

4.在/root/ruoyi/java下写一个Dockerfile用于后端Java环境

①mkdir /root/java

    cd /root/java 

   vim Dockerfile

  1. FROM centos:7
  2. run yum -y install java-1.8.0
  3. WORKDIR /opt
  4. COPY ./ruoyi-admin.jar /opt
  5. CMD [ "lava","-jar","ruoyi-admin.jar" ]

5.拉取MySQL,Redis,Nginx镜像

  1. [root@localhost ~]# docker pull mysql:5.7
  2. [root@localhost ~]# docker pull redis
  3. [root@localhost ~]# docker pull nginx:1.25.3

6.在/root/java目录下写一个nginx.conf

  1. # For more information on configuration, see:
  2. # * Official English Documentation: http://nginx.org/en/docs/
  3. # * Official Russian Documentation: http://nginx.org/ru/docs/
  4. user nginx;
  5. worker_processes auto;
  6. error_log /var/log/nginx/error.log;
  7. pid /run/nginx.pid;
  8. # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
  9. include /usr/share/nginx/modules/*.conf;
  10. events {
  11. worker_connections 1024;
  12. }
  13. http {
  14. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  15. '$status $body_bytes_sent "$http_referer" '
  16. '"$http_user_agent" "$http_x_forwarded_for"';
  17. access_log /var/log/nginx/access.log main;
  18. sendfile on;
  19. tcp_nopush on;
  20. tcp_nodelay on;
  21. keepalive_timeout 65;
  22. types_hash_max_size 4096;
  23. include /etc/nginx/mime.types;
  24. default_type application/octet-stream;
  25. # Load modular configuration files from the /etc/nginx/conf.d directory.
  26. # See http://nginx.org/en/docs/ngx_core_module.html#include
  27. # for more information.
  28. #include /etc/nginx/conf.d/*.conf;
  29. server {
  30. listen 80;
  31. server_name localhost;
  32. location / {
  33. root /usr/share/nginx/html;
  34. index index.html;
  35. }
  36. location /prod-api/ {
  37. proxy_pass http://java.com:8080/;
  38. }
  39. }
  40. # Settings for a TLS enabled server.
  41. #
  42. # server {
  43. # listen 443 ssl http2;
  44. # listen [::]:443 ssl http2;
  45. # server_name _;
  46. # root /usr/share/nginx/html;
  47. #
  48. # ssl_certificate "/etc/pki/nginx/server.crt";
  49. # ssl_certificate_key "/etc/pki/nginx/private/server.key";
  50. # ssl_session_cache shared:SSL:1m;
  51. # ssl_session_timeout 10m;
  52. # ssl_ciphers HIGH:!aNULL:!MD5;
  53. # ssl_prefer_server_ciphers on;
  54. #
  55. # # Load configuration files for the default server block.
  56. # include /etc/nginx/default.d/*.conf;
  57. #
  58. # error_page 404 /404.html;
  59. # location = /40x.html {
  60. # }
  61. #
  62. # error_page 500 502 503 504 /50x.html;
  63. # location = /50x.html {
  64. # }
  65. # }
  66. }

7.在/root/ruoyi目录下写docker-compose.yml文件

  1. version: '3'
  2. services:
  3. ruoyi-web:
  4. image: nginx:1.25.3
  5. container_name: ruoyi-web
  6. hostname: ruoyi-web
  7. environment:
  8. - LANG=C.UTF-8
  9. - LC_ALL=C.UTF-8
  10. ports:
  11. - 8888:80
  12. volumes:
  13. - ./RuoYi-Vue/ruoyi-ui/dist/:/usr/share/nginx/html/
  14. - ./nginx.conf:/etc/nginx/nginx.conf:ro
  15. links:
  16. - java:java.com
  17. depends_on:
  18. - java
  19. java:
  20. build: ./java
  21. container_name: java.server
  22. hostname: java
  23. environment:
  24. - LANG=C.UTF-8
  25. - LC_ALL=C.UTF-8
  26. links:
  27. - db:mysql.server
  28. - redis:redis.server
  29. depends_on:
  30. - db
  31. - redis
  32. db:
  33. image: mysql:5.7
  34. container_name: mysql.server
  35. hostname: db
  36. environment:
  37. - MYSQL_ROOT_PASSWORD=123456
  38. - MYSQL_DATABASE=ry-vue
  39. - LANG=C.UTF-8
  40. - LC_ALL=C.UTF-8
  41. command:
  42. - --character-set-server=utf8mb4
  43. - --collation-server=utf8mb4_general_ci
  44. volumes:
  45. - /opt/mysql-data4:/var/lib/mysql
  46. - ./RuoYi-Vue/sql:/docker-entrypoint-initdb.d
  47. redis:
  48. image: redis
  49. container_name: redis.server
  50. hostname: redis:redis.server
  51. environment:
  52. - LANG=C.UTF-8
  53. - LC_ALL=C.UTF-8

8.启动

cd /root/ruoyi目录下

[root@localhost ruoyi]# docker compose up

9.浏览器访问

10.12.153.93:8888

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/991280
推荐阅读
相关标签
  

闽ICP备14008679号