首页 > 其他分享 >手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile

时间:2023-12-28 11:39:05浏览次数:48  
标签:容器 基于 vue -- 虚拟机 jar 密码 mysql docker



目录

  • 1.安装本地虚拟机centos
  • 2.安装docker,拉取镜像,创建容器
  • 3.打包部署后端
  • 4.配置nginx
  • 5.打包部署前端
  • 6.常见问题汇总


1.安装本地虚拟机centos

部署环境提供vm16,和centos7,其中把镜像改成.iso文件就可以了

阿里云链接: https://www.alipan.com/s/BTnpjuHWtEp 为什么用阿里云,不限速啊,秉持着开源白嫖的精神

新建虚拟机

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_mysql


选择镜像

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_mysql_02


创建用户

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_jar_03


设置虚拟机存存放位置

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_mysql_04


默认下一步

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_spring boot_05


自定义硬件

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_spring boot_06


选了扩大一下内存,扩不扩无所谓

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_mysql_07


检查下网络设置

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_docker_08


然后完成,自动会开机,只需要等

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_mysql_09


再等

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_docker_10


登录

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_jar_11

2.安装docker,拉取镜像,创建容器

有机桌面,打开终端

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_vue.js_12

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
软件包索引 如果stop pid 就kill掉
yum makecache fast
安装docker ,会久一点
yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
启动docker
systemctl start docker
查看docker版本
docker version

拉取镜像

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_docker_13

拉取java8
docker pull java:8
但是java8被docker弃用了,所以用,一样的
docker pull openjdk:8
拉取mysql 8.0
docker pull mysql:8.0
拉取redis
docker pull redis:6.0.8
拉取nginx
docker pull nginx:1.18.0
查看镜像
docker images

当然如果拉错了,就是docker rmi 删除掉就好了

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_mysql_14

3.打包部署后端

可能会提示权限问题
su 进入root模式

运行容器mysql, 密码设置了root  
docker run --name mysql8 -v /my/mysql/config:/etc/mysql/conf.d -v /my/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d --restart always mysql:8.0
运行redis
docker run -d --name redis -p 6379:6379 redis:6.0.8 --requirepass "123456"

进入容器
docker exec -it (容器id) bash

用dbever连接成功,注意修改这个

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_docker_15

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_spring boot_16


也可以用navicat连接,遇到这个问题

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_vue.js_17


那我们进入容器

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_jar_18

2、修改账户密码加密规则并更新用户密码:

//修改加密规则(可以直接复制)

ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

//更新一下用户的密码(可以直接复制)

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

3、刷新权限并重置密码

//刷新权限(可以直接复制)

FLUSH PRIVILEGES;

4、重置密码

//此处请自定义密码,红色的root就是博主自定义的密码

alter user 'root'@'%' identified by '123456';

此处将密码改为123456

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_mysql_19

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_vue.js_20


然后导入数据库

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_spring boot_21


然后就可以打包后端了

后端项目注意数据库和redis,还有文件上传路径

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_spring boot_22


数据库地址

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_jar_23


文件路径

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_jar_24

先clean在install就可以得到一个jar包

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_vue.js_25


得到

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_vue.js_26


使用ftp上传到服务器

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_docker_27

安装ftp
yum install -y vsftpd
service vsftpd status
service vsftpd.service restart
[root@localhost uploadPath]# 
systemctl enable vsftpd.service
systemctl list-unit-files | grep vsftpd.service
上传的文件夹授权
chmod -R 777 /home/ruoyi/uploadPath/

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_docker_28


编辑Dockerfile

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_vue.js_29

#基础镜像使用jdk1.8
FROM openjdk:8
 
#作者
MAINTAINER pan
 
# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
VOLUME /tmp
 
# 将jar包添加到容器中并更名
ADD ruoyi-admin.jar app.jar
 
# 运行jar包
RUN bash -c 'touch /app.jar'
 
# 为了缩短 Tomcat 启动时间,添加一个系统属性指向 “/dev/./urandom” 作为 Entropy Source
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
 
#ENTRYPOINT ["nohup","java","-jar","/data/cat/ruoyi-admin.jar","&"]
 
#暴露8085端口
EXPOSE 8080

在当前目录下,执行dockerfile

构建镜像
docker build -t cat:1.0 .
docker images
创建启动后端容器
docker  run -d --name cat -p 8080:8080 cat:1.0
docker ps -a

如果容器没有启动成功看看日志。,一般就是数据库,账户密码,ip没对上,或者是redis的密码,

docker logs -f -t --tail 1000 [容器ID]

手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile_mysql_30

4.配置nginx

5.打包部署前端

6.常见问题汇总


标签:容器,基于,vue,--,虚拟机,jar,密码,mysql,docker
From: https://blog.51cto.com/u_15601494/9011880

相关文章

  • Vue脚手架中加入Vuex全局状态管理中间件
    WebStorm创建Vite(Vue模版)项目后:在main.ts中:import{createApp}from'vue'//@ts-ignoreimport{createStore}from'vuex'import'./style.css'//@ts-ignoreimportAppfrom'./App.vue'//@ts-ignoreconststore=createSt......
  • 基于ssm“魅力”繁峙宣传网站的设计与实现
    随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;“魅力”繁峙宣传网站系统当然也不能排除在外,随着网络技术的不断成熟,带动了“魅力”繁峙宣传网站系统的发展,它彻底改变了过去传统的管理方式,不仅使服务管理难度变低了,还提升了管理的灵活性。这......
  • 基于SSM的宠物领养系统
    本课题是根据用户的需要以及网络的优势建立的一个宠物领养系统,来满足用宠物领养的需求。本宠物领养系统应用JSP技术,Java语言,MYSQL数据库存储数据,基于B/S结构开发。在网站的整个开发过程中,首先对系统进行了需求分析,设计出系统的主要功能模块,其次对网站进行总体规划和详细设计,最后对......
  • 基于SSM的园区停车管理系统
    网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。因此园区停车信息的管理计算机化,系统化是必要的。设计开发园区停车管理系统不仅会......
  • vue2中 watch和computed的区别
    计算属性(Computed):computed是基于依赖关系进行缓存的。只有当相关的响应式依赖发生改变时,才会重新求值。适合于执行更复杂的数据操作。computed属性是计算出来的,不会对原始数据造成任何副作用。computed属性可以具有setter和getter方法,可以更灵活地控制数据的操作。......
  • 【PXIE301-208】基于PXIE总线架构的Serial RapidIO总线通讯协议仿真卡
    板卡概述PXIE301-208是一款基于3UPXIE总线架构的SerialRapidIO总线通讯协议仿真卡。该板卡采用Xilinx的高性能Kintex系列FPGA作为主处理器,实现各个接口之间的数据互联、处理以及实时信号处理。板卡支持4路SFP+光纤接口,支持一个PCIex8主机接口,板载1组独立的64位DDR3SDRAM大容......
  • day22 Skywalking的整体架构及特性-基于Helm的Skywalking部署管理 (8.1-8.2)
    8.1-Skywalking的整体架构及特性一、为什么需要链路追踪随着云计算和微服务架构的普及,越来越多的企业开始采用分布式架构开放应用程序。在这种复杂的架构中,应用程序的性能问题变得更加棘手,传统的单机监测工具已经无法满足需求。二、Skywalking简介Skywalking是国内开源的基......
  • oracle virtualbox虚拟机时间保持宿主机一致
     1.查看当前的虚拟机C:\Users\Administrator>cdC:\ProgramFiles\Oracle\VirtualBoxC:\ProgramFiles\Oracle\VirtualBox>VBoxManage.exelistvms"12C-rac01-ogg"{0f27be6f-c6c9-41b6-8648-9b8d3e5d89b3}"12C-rac02"{1d9007e9-56cf-4f4a......
  • 基于深度学习网络的美食检测系统matlab仿真
    1.算法运行效果图预览  2.算法运行软件版本matlab2022a 3.算法理论概述      美食检测是一项利用计算机视觉技术来识别和分类食物图像的任务。       特征提取是食品检测的核心步骤,其目的是从输入图像中提取出有效的特征,以便于后续的分类。常见的......
  • 基于FPGA的图像差分运算及目标提取实现,包含testbench和MATLAB辅助验证程序
    1.算法运行效果图预览  2.算法运行软件版本matlab2022a 3.算法理论概述      基于FPGA(Field-ProgrammableGateArray)的图像差分运算及目标提取实现主要涉及图像处理、差分运算和目标提取等原理和数学公式。 一、图像处理原理       图像处理是......