上一篇记录了如何打包vue的前端页面,这一篇部署后台服务jar包。jar包部署我们采用与nginx部署vue前端页面不一样的方式,jar包的部署采用映射方式。
一,部署jar包。
1,打包jar。这里有几步要注意。
(1)修改配置文件中的数据库连接地址和密码。
(2)修改redis的连接密码。
这里插一句,我们前面介绍的是没有给docker安装reids设置密码的。没有密码的话jar包可以不设置。如果需要stop容器然后重启。
docker run -itd --name redis-test -p 6379:6379 redis --requirepass 1234
(3)修改自定义端口,记得修改完后在阿里云的主机安全策略中开放对应点的端口。
(4)使用maven打包生成。
2,编写我们的Dockerfile文件。
FROM java:8EXPOSE 8888ENTRYPOINT ["java","-jar","/data/ruoyi-admin.jar"]
3,新建一个docker-jar目录。并且通过ftp上传到阿里云主机。上一篇我们已经在根目录下新建了一个data目录。
4,构建镜像。
docker build -t dafang/jar:v1 .
5,docker images查看镜像,镜像创建成功后启动容器。
docker run --name ruoyi -it -v /data/docker-jar/:/data -d -p 8888:8888 dafang/jar:v1
6,查看启动日志。启动成功。
二,优化vue前端项目。
我们部署vue前端项目的时候只是把它当做静态页面来部署。如果想让前端页面访问我们的后端接口,需要增加nginx的代理设置。需要对我们的镜像进行优化。
1,创建nginx配置文件 default.conf。
server { listen 80; server_name 39.104.68.161; # 修改为docker服务宿主机的ip
location / { root /usr/share/nginx/html; index index.html index.htm; try_files $uri $uri/ /index.html =404; } 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://39.104.68.161:8888/; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }}
2,优化Dockerfile。作用就是增加nginx的配置。
FROM nginx:stable
MAINTAINER dafang
RUN rm /etc/nginx/conf.d/default.confADD default.conf /etc/nginx/conf.d/
COPY dist/ /usr/share/nginx/html/
3,删除原来的镜像和容器。
docker rm -f 容器iddocker rmi 镜像名
4,把新文件通过ftp上传到我们的阿里云服务器的主机上。
5,在目录中,构建镜像。
docker build -t dafang/vue:v1 .
6,启动容器。
docker run -itd -p 8080:80 --name vue dafang/vue:v1
三,测试。
打开地址http://39.104.68.161:8080/ 已经可以正常登陆和访问了。