Docker 部署 vue + spring boot 前后端分离项目
- 将 spring boot 项目打包,上传到服务器中
- 编写 Dockerfile 文件,内容如下:
FROM openjdk:latest
ADD . /home
EXPOSE 9527
ENTRYPOINT exec java $JAVA_OPTS -jar /home/你的jar文件
- 使用该 Dockerfile 文件生成镜像:
docker build -t 为镜像命名 .
- 使用刚刚生成的镜像文件创建运行spring boot项目的容器:
docker run -d --name 为容器命名 -p 9527:9527 镜像名
- 将 vue 项目打包,将打包后的 dist 文件上传到服务器
- 编写 nginx 的配置文件 default.conf :
server {
listen 8100;
server_name 服务器ip;
location / {
root /data;
try_files $uri $uri/ /index.html;
index index.html;
}
location /api {
proxy_pass http://运行spring boot项目的容器ip:9527;
}
}
- 创建运行 vue 项目的容器:
docker run --name 为容器命名 -d -p 8100:8100 -v dist文件在服务器的地址:/data -v 在服务器中编写的default.conf文件的地址:/etc/nginx/conf.d nginx
- 两个容器启动成功后,即可访问 服务器ip:8100 这个地址访问vue项目