文章目录
- 前言
- 一、系统架构图与数据流
- [安装Docker和Docker Compose](#安装Docker和Docker Compose)
-
- [git clone RuoYi代码](#git clone RuoYi代码)
- 修改ruoyi配置文件
- [拉取node 镜像,准备前端容器环境](#拉取node 镜像,准备前端容器环境)
- 拉取maven镜像
- 使用dockerfile定义后端java项目的运行环境
- 编写docker-compos.yml文件构建ruoyi项
- 查错
前言
提示:以下是本篇文章正文内容,下面案例可供参考
一、系统架构图与数据流

bash
systemctl stop firewalld.service
setenforce 0
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
注意:如果是指定版本docker-ce-20.10.18
systemctl start docker.service
systemctl enable docker.service
# 1. 安装Docker(复制粘贴整条命令)
yum install -y yum-utils device-mapper-persistent-data lvm2 && yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo && yum install -y docker-ce-20.10.18 docker-ce-cli-20.10.18 containerd.io && systemctl start docker.service && systemctl enable docker.service
# 2. 验证Docker(出现版本号即为成功)
docker --version
# 3. 安装Docker Compose
华为镜像加速器
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://0a40cefd360026b40f39c00627fa6f20.mirror.swr.myhuaweicloud.com" ]
}
EOF
sudo curl -L "https://github.com/docker/compose/releases/download/2.26.0/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
# 4. 验证Docker Compose(尽量使用高版本)
docker-compose --version
安装Docker和Docker Compose
git clone RuoYi代码
bash
mkdir /opt/ruoyi
cd /opt/ruoyi
git clone https://gitee.com/y_project/RuoYi-Vue.git
修改ruoyi配置文件
bash
vim /opt/ruoyi/RuoYi-Vue/ruoyi-admin/src/main/resources/application-druid.yml
bash
vim /opt/ruoyi/RuoYi-Vue/ruoyi-admin/src/main/resources/application.yml
拉取node 镜像,准备前端容器环境
bash
ocker pull node:12
① 进入ruoyi-vue目录
cd /opt/ruoyi/RuoYi-Vue
② 启动node镜像
docker run -itd --rm -v ./ruoyi-ui:/opt node:12 /bin/bash
③ 进入到此容器/opt目录下并打包前端代码
cd /opt
npm install (安装)
构建生产环境代
npm run build:prod
拉取maven镜像
bash
##需要下载一个mvn镜像,用于为我们的后端打jar包
docker pull maven:3.6.3-openjdk-11
① 启动maven镜像
docker run -it --rm -v ./RuoYi-Vue:/vue maven:3.6.3-openjdk-11 /bin/bash
② 进入/vue目录,进行mvn命令打jar包
mvn package
退出maven容器,将/opt/ruoyi/RuoYi-Vue/ruoyi-admin/target/ruoyi-admin.jar移到/ruoyi下
mv ruoyi-admin.jar /opt/ruoyi
使用dockerfile定义后端java项目的运行环境
bash
mkdir /opt/java
cd /opt/java
#将epel-aliyun.repo、CentOS-aliyun-lhr.repo、ruoyi-admin.jar 文件复制到当前目录
vim Dockerfile
#输入以下内容
FROM centos:7
RUN rm -rf /etc/yum.repos.d/*
COPY epel-aliyun.repo /etc/yum.repos.d
COPY CentOS-aliyun-lhr.repo /etc/yum.repos.d
RUN yum clean all && yum makecache
run yum -y install java-1.8.0
WORKDIR /opt
COPY ./ruoyi-admin.jar /opt
CMD [ "java","-jar","ruoyi-admin.jar" ]
编写docker-compos.yml文件构建ruoyi项
在/opt/java目录下定义一个nginx.conf配置文件,内容如下:
bash
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
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;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 4096;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
#include /etc/nginx/conf.d/*.conf;
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html;
}
location /prod-api/ {
proxy_pass http://java.com:8080/;
}
}
# Settings for a TLS enabled server.
#
# server {
# listen 443 ssl http2;
# listen [::]:443 ssl http2;
# server_name _;
# root /usr/share/nginx/html;
#
# ssl_certificate "/etc/pki/nginx/server.crt";
# ssl_certificate_key "/etc/pki/nginx/private/server.key";
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 10m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
#
# # Load configuration files for the default server block.
# include /etc/nginx/default.d/*.conf;
#
# error_page 404 /404.html;
# location = /40x.html {
# }
#
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# }
# }
}
bash
docker run -it --rm -v /opt/ruoyi/RuoYi-Vue:/vue maven:3.6.3-openjdk-11 /bin/bash
bash
mv ruoyi-admin/target/ruoyi-admin.jar /opt/ruoyi/
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

在/opt/ruoyi目录下写docker-compose.yml文件
bash
version: '3'
services:
ruoyi-web:
image: nginx:1.25.3
container_name: ruoyi-web
hostname: ruoyi-web
environment:
- LANG=C.UTF-8
- LC_ALL=C.UTF-8
ports:
- 8888:80
volumes:
- /opt/ruoyi/RuoYi-Vue/ruoyi-ui/dist/:/usr/share/nginx/html/
- /opt/ruoyi/java/nginx.conf:/etc/nginx/nginx.conf:ro
links:
- java:java.com
depends_on:
- java
java:
build: ./java
container_name: java.server
hostname: java
environment:
- LANG=C.UTF-8
- LC_ALL=C.UTF-8
links:
- db:mysql.server
- redis:redis.server
depends_on:
- db
- redis
db:
image: mysql:5.7
container_name: mysql.server
hostname: db
environment:
- MYSQL_ROOT_PASSWORD=123456
- MYSQL_DATABASE=ry-vue
- LANG=C.UTF-8
- LC_ALL=C.UTF-8
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
volumes:
- /opt/mysql-data4:/var/lib/mysql
- /opt/ruoyi/RuoYi-Vue/sql:/docker-entrypoint-initdb.d
redis:
image: redis
container_name: redis.server
hostname: redis:redis.server
environment:
- LANG=C.UTF-8
- LC_ALL=C.UTF-8
查错
java和nginx未启动


将系统默认 yum 源配置文件CentOS-Base.repo复制到当前工作目录
bash
cp /etc/yum.repos.d/CentOS-Base.repo ./
yum -y install java-1.8.0