Dokcer 部署Springboot+Vue

  1. 打jar包
mvn package
// 打包后的文件名 blog-springboot-1.0.jar
  1. 将jar包复制到服务器的/usr/local/e5bb96-blog/boot目录下,并创建 DockerFile文件
# 基础镜像
FROM openjdk
# 作者信息
LABEL maintainer = "xxx@qq.com"
# 添加到docker中,改名为blog-springbooot.jar
ADD blog-springboot-1.0.jar /home/blog-springboot.jar
# 开发端口
EXPOSE 8608
# 容器执行命令
ENTRYPOINT ["java","-jar","/home/blog-springboot.jar"]
  1. 使用Dockerfile生成镜像
docker build -t blog-springboot /usr/local/e5bb96-blog/boot
// 附加:删除镜像
docker rmi -f blog-springboot:latest
Successfully built 99d9b8bf0821
Successfully tagged blog-springboot:latest
[root@VM-12-8-centos e5bb96-blog]# docker images
REPOSITORY                               TAG            IMAGE ID       CREATED          SIZE
blog-springboot                          latest         99d9b8bf0821   14 minutes ago   464MB
  1. 运行容器
docker run -d -p 8608:8608 --name blog-springboot blog-springboot
// 查看容器日志
docker logs 容器ID
  1. Docker部署nginx(跳过)
# 拉取镜像
docker pull nginx

# 创建 Nginx 容器,因为要拷贝一些文件以及设置挂载目录,需要先启动一个nginx容器
docker run -di --name nginx -p 80:80 --privileged=true nginx
  1. vue项目部署:在/usr/local/e5bb96-blog/nginx/目录下创建Dockerfile
# 设置基础镜像
FROM nginx
# 定义作者
MAINTAINER wuze <xxx@qq.com>
# 将dist文件中的内容复制到 /usr/share/nginx/html/ 这个目录下面
COPY dist/  /usr/share/nginx/html/
COPY nginx.conf /etc/nginx/nginx.conf
RUN echo 'echo init ok!!'
  1. 用指令 npm run build 打包 vusjs 项目。打包成功后会生成一个目录 dist,放入/usr/local/e5bb96-blog/nginx/所在文件
  2. 在放入/usr/local/e5bb96-blog/nginx/目录创建nginx.conf
user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;


    server {
        listen       80;
        server_name  服务器IP;
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
	          try_files $uri $uri/ /index.html;      
        }
        
        location /api/ {        
		        proxy_pass http://服务器IP:8608/; 
		    }
        
    }

    #gzip  on;
    include /etc/nginx/conf.d/*.conf;
}
}

  1. 创建vue镜像
docker build -t blog-vue /usr/local/e5bb96-blog/nginx/
  1. 运行容器
docker run -p 86:80 --name blog-vue -d blog-vue
  1. 重启 Nginx 容器
docker restart nginx
# 查看日志
docker logs -f nginx
  1. 注意:如果图片相关存储到服务器本地,存储的位置不是宿主机,而是容器内

图片映射的IP地址应为容器IP

nginx.conf

location /img/ {        
        proxy_pass http://服务器IP:8608/img/; 
}

重新打包镜像发布即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

细水长流永不粹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值