Docker打包前后端项目

Java项目基于Docker打包发布

1.打包应用

复制代码
mvn clean package -DskipTests

2.新建dockerfile

复制代码
FROM  openjdk:8
#设置工作目录
WORKDIR  /workspace

#COPY  wms-app-0.0.1-SNAPSHOT.jar /workspace/app.jar
ADD  wms-app-0.0.1-SNAPSHOT.jar  app.jar
#配置容器暴漏的端口
EXPOSE 8080
#查看是否已经copy进去
#RUN  ls 
#java App
ENTRYPOINT  ["java","-jar","app.jar"]

3.打包镜像

复制代码
docker build -t mall:v1 .

4.测试运行

--rm 代表退出之后,容器移动删除

复制代码
docker run -it --rm beimao:v1

5.使用阿里云免费私仓

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

1.Vue前端项目打包

编译打包

npm run build

前端项目 nginx的配置文件default.conf 和 dockerfile

default.conf

复制代码
upstream wms-app {
    server 192.168.14.3:3666 ;
    server 192.168.14.3:3777 ;
}
server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

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

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html; #解决单页面找不到路径问题 404
    }
   
    location /api/ {
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Methods' 'POST,GET,OPTIONS';
            add_header 'Access-Control-Allow-Headers' 'Authorization'; #跨域设置
            proxy_pass http://wms-app ;  #可以配置多个下游服务,具有负载功能
            #proxy_pass http://192.168.14.3:3666; #仅配置一个下游服务,不具有负载均衡能力

    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }


}

1.root:设置静态根目录为 /usr/share/nginx/html

  1. index:设置目录的默认文件为 index.html 、index.htm、index.php

  2. try_files:设置文件查找规则为 uri uri/ /index.html。即3个规则,先从 $uri 查找,再从 u r i / 目录中查找,最后查找 / i n d e x . h t m l 。

dockerfile

复制代码
FROM nginx
COPY html /usr/share/nginx/html
RUN rm -f /etc/nginx/conf.d/default.conf
ADD default.conf /etc/nginx/conf.d/default.conf

构建镜像

复制代码
docker build -t web:v1 .

运行

复制代码
docker  run -it -p 8086:80  web:v1
相关推荐
matlabgoodboy几秒前
Python代做java代码编写C++大数据R语言Hadoop/spark/flink/C语言
java·大数据·python
实心儿儿7 分钟前
C++ —— 红黑树
java·开发语言·算法
啥都想学点24 分钟前
第18天:Springboot 项目搭建
java·spring boot·后端
Fang fan25 分钟前
Java集合
java·开发语言·算法
是店小二呀32 分钟前
Docker部署EasyNode+内网穿透:轻松实现服务器远程管理
服务器·docker·容器
一招定胜负34 分钟前
在 Windows 11 家庭版安装 Docker Desktop解决虚拟化问题
运维·docker·容器
福运常在35 分钟前
股票数据API(21)如何获取股票指数最新分时交易数据
java·python·maven
计算机徐师兄40 分钟前
Java基于微信小程序的青少年科普教学系统【附源码、文档说明】
java·微信小程序·青少年科普教学系统小程序·java青少年科普教学小程序·青少年科普教学微信小程序·青少年科普教学小程序·科普教学微信小程序
i建模41 分钟前
Docker API 版本冲突问题
运维·docker·容器
东离与糖宝42 分钟前
面试官直言:Java应届生面试,我只看这3个核心能力
java·面试