1.使用docker安装对应后台代码的mysql、redis、jdk等
2.新建一个文件夹blog(名称随意,位置随意)
3.在blog下创建一个文件夹html用于存放前端打包后的dist文件夹中的内容拷贝到html中(全部内容)
4.后端代码使用package打包,打包前注意修改mysql的连接地址因为localhost部署完是找不到的换成自己运行mysql镜像的ip
5.将jar包上传到服务器的blog文件夹下面
6.编写Dockerfile
FROM openjdk:8
COPY blog-springboot-2.0.jar /blog-springboot-2.0.jar
CMD ["--server.port=8080"]
#对外暴露的端口
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/blog-springboot-2.0.jar"]
8.使用命令docker build -t blog . 构建镜像名字为blog的镜像
9.使用docker run -d --name blog (什么名字都可以) -p 9999:8080 blog:latest
这个8080要和暴露的对应上
10.postman/apiFox测试
11.前端部署 新建一个文件夹名字为blogData(位置任意,名字任意)
12.blogData下新建一个nginx文件夹
13.nginx文件夹下面新建 conf、conf.d 文件夹
14.在conf文件夹下新建nginx.conf文件
user root; #服务器用户名
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 虚拟机ip;
location /api/ {
proxy_pass http://ip:后台镜像启动端口/;
}
error_page 500 502 503 504 /404;
location = /50x.html {
root html;
}
location / {
root /usr/share/nginx/html;
try_files $uri $uri/ /index.html last;
index index.html index.htm;
}
}
}
15.使用docker run --name nginx -d -p 3344:80 -v /home/blog/html:/usr/share/nginx/html -v /home/blogData/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
--privileged=true nginx 启动nginx镜像
16.至此前后端部署完成