Docker 实战(五)部署jar包

1,014 阅读2分钟

dockerimg.jpg 上一篇记录了如何打包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/  已经可以正常登陆和访问了。

图片