Docker 部署 vue+spring boot 前后端分离项目详解

Docker 部署 vue + spring boot 前后端分离项目

  1. 将 spring boot 项目打包,上传到服务器中
  2. 编写 Dockerfile 文件,内容如下:
FROM openjdk:latest
ADD . /home  #将当前文件夹下面的内容,复制到 /home 文件夹内
EXPOSE 9527  #开放9527端口
ENTRYPOINT exec java $JAVA_OPTS -jar /home/你的jar文件  #容器启动时运行该命令,运行jar包文件
  1. 使用该 Dockerfile 文件生成镜像:
docker build -t 为镜像命名 . #最后面的.为Dockerfile文件所在地 
  1. 使用刚刚生成的镜像文件创建运行spring boot项目的容器:
docker run -d --name 为容器命名 -p 9527:9527 镜像名
  1. 将 vue 项目打包,将打包后的 dist 文件上传到服务器
  2. 编写 nginx 的配置文件 default.conf :
server {
        listen  8100;
        server_name 服务器ip;
        
        location / {
           root   /data;	#dist文件挂载到容器的目录
           try_files $uri $uri/ /index.html;
           index index.html;
        }

	# vue向后端拿数据的代理 ip 设置
        location /api {        
		    proxy_pass http://运行spring boot项目的容器ip:9527; 
		}
   }
  1. 创建运行 vue 项目的容器:
docker run --name 为容器命名 -d -p 8100:8100 -v dist文件在服务器的地址:/data -v 在服务器中编写的default.conf文件的地址:/etc/nginx/conf.d nginx
  1. 两个容器启动成功后,即可访问 服务器ip:8100 这个地址访问vue项目

你可能感兴趣的:(docker)