后端代码通过maven的package命令打成jar包。dockerfile# 基础镜像 FROM openjdk:11.0-jre-buster # 设定时区 ENV TZAsia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime echo $TZ /etc/timezone # 拷贝jar包 COPY 项目名.jar /app.jar # 入口 ENTRYPOINT [java, -jar, /app.jar]将Dockerfile和生成的jar包一起上传到虚拟机的root目录# 1.构建项目镜像不指定tag则默认为latest docker build -t 项目名 . # 2.查看镜像 docker images # 3.创建并运行容器并通过--network将其加入自定义网络这样才能通过容器名访问mysql docker run -d --name 容器名 --network 自定义网络名 -p 8080:8080 项目镜像名测试通过浏览器访问http://你的虚拟机地址:8080/项目接口前端html是静态资源目录nginx.conf是nginx的配置文件主要是完成对html下的静态资源目录做代理把整个nginx目录上传到虚拟机的/root目录下前后端在一个自定义网络里创建nginx容器并完成两个挂载把/root/nginx/nginx.conf挂载到/etc/nginx/nginx.conf把/root/nginx/html挂载到/usr/share/nginx/htmldocker run -d \ --name nginx \ -p 端口名:端口名 \ -v /root/nginx/html:/usr/share/nginx/html \ -v /root/nginx/nginx.conf:/etc/nginx/nginx.conf \ --network 自定义网络名 \ nginx测试通过浏览器访问http://你的虚拟机ip:端口名
Java代码部署到虚拟机
后端代码通过maven的package命令打成jar包。dockerfile# 基础镜像 FROM openjdk:11.0-jre-buster # 设定时区 ENV TZAsia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime echo $TZ /etc/timezone # 拷贝jar包 COPY 项目名.jar /app.jar # 入口 ENTRYPOINT [java, -jar, /app.jar]将Dockerfile和生成的jar包一起上传到虚拟机的root目录# 1.构建项目镜像不指定tag则默认为latest docker build -t 项目名 . # 2.查看镜像 docker images # 3.创建并运行容器并通过--network将其加入自定义网络这样才能通过容器名访问mysql docker run -d --name 容器名 --network 自定义网络名 -p 8080:8080 项目镜像名测试通过浏览器访问http://你的虚拟机地址:8080/项目接口前端html是静态资源目录nginx.conf是nginx的配置文件主要是完成对html下的静态资源目录做代理把整个nginx目录上传到虚拟机的/root目录下前后端在一个自定义网络里创建nginx容器并完成两个挂载把/root/nginx/nginx.conf挂载到/etc/nginx/nginx.conf把/root/nginx/html挂载到/usr/share/nginx/htmldocker run -d \ --name nginx \ -p 端口名:端口名 \ -v /root/nginx/html:/usr/share/nginx/html \ -v /root/nginx/nginx.conf:/etc/nginx/nginx.conf \ --network 自定义网络名 \ nginx测试通过浏览器访问http://你的虚拟机ip:端口名