我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【Docker】docker部署springboot+vue+mysql+nginx前后端分离项目【部署实战篇】

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【Docker】docker部署springboot+vue+mysql+nginx前后端分离项目【部署实战篇】

文章目录


在这里插入图片描述

安装docker: https://blog.csdn.net/qq_39900031/article/details/121666892
springboot-vue前后端分离项目:https://gitee.com/ma-haojie/springboot-vue-demo.git

在这里插入图片描述

https://jackwei.blog.csdn.net/article/details/110227719

docker search openjdk:8docker pull openjdk:8docker run -di --name=jdk1.8 openjdk:8docker exec -it jdk1.8 /bin/bashroot@2365c0f5b0ce:/# java -versionopenjdk version "1.8.0_312"OpenJDK Runtime Environment (build 1.8.0_312-b07)OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)root@2365c0f5b0ce:/#
docker pull mysql:5.7

在这里插入图片描述

docker run \--name mysql \-d \-p 3306:3306 \--restart unless-stopped \-v /mydata/mysql/log:/var/log/mysql \-v /mydata/mysql/data:/var/lib/mysql \-v /mydata/mysql/conf:/etc/mysql \-e MYSQL_ROOT_PASSWORD=123456 \mysql:5.7

在这里插入图片描述

通过Docker命令进入Mysql容器内部

docker exec -it mysql /bin/bash## 或者docker exec -it mysql bash

初始化数据

# 1.拷贝SQL文件到mysql容器中docker cp /root/app/springboot-vue.sql mysql:/springboot-vue.sql# 2. 创建数据库docker exec -it mysql mysql -uroot -p123456  # 3.登陆控制台执行source 命令mysql> source springboot-vue.sql

在这里插入图片描述

sqlDbx连接查看

在这里插入图片描述
在这里插入图片描述

修改配置数据库JDBC链接IP为虚拟机服务器IP

在这里插入图片描述
在这里插入图片描述

maven clean package打包后端jar并上传到服务器

在这里插入图片描述

编写Dockfile

FROM openjdk:8ENV APP_PATH=/root/appWORKDIR $APP_PATHADD ./springboot-0.0.1-SNAPSHOT.jar /$APP_PATH/apps.jarEXPOSE 9090ENTRYPOINT ["java","-jar"]CMD ["apps.jar"]

或者

FROM openjdk:8ENV APP_PATH=/home/appWORKDIR $APP_PATHADD ./springboot-0.0.1-SNAPSHOT.jar /$APP_PATH/apps.jarEXPOSE 9090ENTRYPOINT ["java","-jar","/home/app/apps.jar"]

build 构建

docker build -t app:0.1 .

在这里插入图片描述

查看构建的后端镜像app

在这里插入图片描述

docker run --name app -p 9090:9090 --restart=always -d app:0.1

--restart=always参数能够使我们在重启docker时,自动启动相关容器。 Docker容器的重启策略如下:
no,默认策略,在容器退出时不重启容器 on-failure,在容器非正常退出时(退出状态非0),才会重启容器
on-failure:3,在容器非正常退出时重启容器,最多重启3次
always,在容器退出时总是重启容器
unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器

在这里插入图片描述

查看运行容器app日志

docker  logs -f app

java.net.NoRouteToHostException: No route to host (Host unreachable) --如果出现需要开启防火墙端口3306

在这里插入图片描述

虚拟服务器防火墙增加端口3306

   查看防火墙状态命令         systemctl status firewalld   重启防火墙命令            systemctl reload firewalld   关闭防火墙命令            systemctl stop firewalld
查看数据库服务器已开放端口firewall-cmd --list-ports开放3406端口firewall-cmd --zone=public --add-port=3306/tcp --permanentfirewall-cmd --zone=public --add-port=3306/tcp --permanent重启防火墙命令            systemctl reload firewalld再次查看数据库服务器已开放端口firewall-cmd --list-ports

在这里插入图片描述

验证后台是否链接mysql成功

curl -X GET http://localhost:9090/user?pageNum=1&pageSize=10&search=

在这里插入图片描述

再次查看容器日志mysql成功

docker  logs -f app

在这里插入图片描述

https://blog.csdn.net/BThinker/article/details/123507820

docker pull nginx:latest

编写前端Dockfile

# 基础镜像使用NginxFROM nginx:latest# 作者MAINTAINER hjma# 添加时区环境变量,亚洲,上海ENV TimeZone=Asia/Shanghai# 将前端dist文件中的内容复制到nginx目录COPY dist  /usr/share/nginx/html/# 用本地的nginx配置文件覆盖镜像的Nginx配置 必须跟Dockerfile平级目录COPY default.conf /etc/nginx/conf.d/# 暴露端口EXPOSE 80

npm run build 前端打包镜像dist 上传到服务器 将default.conf 放在Dockerfile平级目录下

在这里插入图片描述

vue.config.js配置:target为后端地址

在这里插入图片描述

执行docker build构建

docker build -t vue-demo:1.0 .

在这里插入图片描述

运行一个容器nginx-vue

docker run \-p 9876:80 \--name nginx-vue \-v /home/nginx-vue/conf/nginx.conf:/etc/nginx/nginx.conf \-v /home/nginx-vue/conf/conf.d:/etc/nginx/conf.d \-v /home/nginx-vue/log:/var/log/nginx \-d vue-demo:1.0

在这里插入图片描述

防火开启端口9090 80 否则Nginx会报错No Route…

在这里插入图片描述

firewall-cmd --zone=public --add-port=80/tcp --permanentfirewall-cmd --zone=public --add-port=9090/tcp --permanent重启防火墙命令            systemctl reload firewalld再次查看数据库服务器已开放端口firewall-cmd --list-ports

在这里插入图片描述

验证 前端->后端联通性

##192.168.23.128我的虚拟机IPcurl -X GET http://192.168.23.128:9876/api/user?pageNum=1&pageSize=10&search=

在这里插入图片描述

在这里插入图片描述

来源地址:https://blog.csdn.net/qq_39900031/article/details/131147039

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【Docker】docker部署springboot+vue+mysql+nginx前后端分离项目【部署实战篇】

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

docker怎么部署前后端分离项目

要部署前后端分离项目,可以使用Docker来实现。下面是一些步骤:1. 为前端和后端项目创建Dockerfile。Dockerfile是用来构建Docker镜像的配置文件。你可以在前端项目的根目录和后端项目的根目录创建一个Dockerfil
2023-10-20

如何实现Docker部署前后端分离项目

这篇文章给大家介绍如何实现Docker部署前后端分离项目,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、环境准备服务器阿里云服务器 1核+2GB即可软件本次部署采用的是 docker,因此软件环境都在 docker
2023-06-21

Docker+Nginx打包部署前后端分离步骤实现

这篇文章主要介绍了Docker+Nginx打包部署前后端分离步骤实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2023-01-08

Docker+Nginx打包部署前后端分离怎么实现

这篇文章主要介绍“Docker+Nginx打包部署前后端分离怎么实现”,在日常操作中,相信很多人在Docker+Nginx打包部署前后端分离怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Docker+
2023-07-04

教你使用Docker Compose一键部署前后端分离项目

Compose是一个定义和管理多容器的工具,使用Python语言编写,下面这篇文章主要给大家介绍了关于如何使用Docker Compose一键部署前后端分离项目的相关资料,需要的朋友可以参考下
2023-01-09

使用Docker部署前后端分离项目的完整步骤

刚刚接触基础的运维工作,采用的是docker部署的方式,下面这篇文章主要给大家介绍了关于使用Docker部署前后端分离项目的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
2023-01-09

flask和vue前后端分离项目部署的代码怎么写

本篇文章为大家展示了flask和vue前后端分离项目部署的代码怎么写,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前段时间开发了一个项目, 我后端用的是flask框架写接口,前端用的是vue框架,项
2023-06-25

SpringBoot前后端分离项目,打包、部署到服务器详细图文流程

文章目录 实施步骤一、修改配置文件地址1.修改MySQL配置2.修改Redis配置3.修改日志路径和字符集配置 二、将源码压缩并上传服务器1.上传前端文件2.上传后端文件(同上) 三、前端项目打包1.安装依赖2.项目打包
2023-08-18

(一)专题介绍:移动端安卓手机改造成linux服务器&linux服务器中安装软件、部署前后端分离项目实战

快捷目录 前言一、涉及到的相关技术简介二、具体实现过程及踩坑杂谈1.安卓手机改造成linux系统实现方案2.改造后的手机Linux中软件的安装3.手机Linux中安装MySQL5.7踩坑实录4.手机Linux中安装软件的正确方法
2023-08-16

编程热搜

目录