若依前端
下载项目
git clone https://gitee.com/y_project/RuoYi-Vue.git
cd RuoYi-Vue/ruoyi-ui/
npm install
npm install --registry=https://registry.npmmirror.com
npm run build:prod
此时会有一个dist文件放到nginx上
[root@rocky ruoyi-ui]# ls
babel.config.js build Dockerfile node_modules package-lock.json README.md vue.config.js
bin dist nginx.conf package.json public src
[root@rocky ruoyi-ui]# cat nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name _;
charset utf-8;
location / {
root /usr/share/nginx/html;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
location /prod-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://172.31.7.88:8080/; # 你的IP地址
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
include /etc/nginx/conf.d/*.conf;
}
[root@rocky ruoyi-ui]# cat Dockerfile
FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
COPY dist /usr/share/nginx/html/
EXPOSE 80
docker build . -t ry-web:v2 -f Dockerfile
docker run --name ry-web -d -p 80:80 ry-web:v2
前端url路径是怎么定义的
[root@rocky ruoyi-ui]# pwd
/opt/RuoYi-Vue/ruoyi-ui
[root@rocky ruoyi-ui]# cat .env.production
# 页面标题
VUE_APP_TITLE = 若依管理系统
# 生产环境配置
ENV = 'production'
# 若依管理系统/生产环境
VUE_APP_BASE_API = '/prod-api'
若依后端
[root@rocky opt]# cd RuoYi-Vue/ruoyi-admin/src/main/resources/
[root@rocky resources]# ls
application-druid.yml application.yml banner.txt i18n logback.xml META-INF mybatis
修改注意点application.yml
修改注意点application-druid.yml
数据库部署采用常规部署,redis也采用常规部署
需要注意的是常规部署root只能本地访问,上面的zhao用户呢没授权容器地址段的访问,所以正常情况下,把root授权所有地址段的访问,这样才能启动成功容器
在项目目录下打包文件
mvn clean package
会生产一个target的文件
[root@rocky ruoyi-admin]# ls
pom.xml src target
进入target创建Dockerfile
[root@rocky ruoyi-admin]# cd target/
[root@rocky target]# ls
classes Dockerfile generated-sources maven-archiver maven-status ruoyi-admin.jar ruoyi-admin.jar.original
[root@rocky target]# cat Dockerfile
FROM java:8
VOLUME /tmp
ADD *.jar /app.jar
EXPOSE 8080
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java -jar /app.jar" ]
docker build . -t ry-admin:v2 -f Dockerfile
docker run --name ry-admin -d -p 8080:8080 ry-admin:v2
访问前端172.31.7.88
在mysql部署的时候填写mysql地址的时候不通信,最后确定是容器里的ip地址段也要授权访问才行