CentOS Stream 9使用Docker 部署vue3+springboot项目

CentOS Stream 9 使用Docker部署项目

准备

下载CentOS Stream 9镜像

官网服务器在境外 ,访问缓慢可以使用清华镜像

官网

清华镜像
在这里插入图片描述

centos安装到本地虚拟机可以使用VMWare Worksation Player

进入VMWare软件,新建虚拟机,参数默认即可,后期可以根据需求调整。
在这里插入图片描述

由于CentOS包管理器yum的下载服务器在境外,比较慢 可以进行换源

mkdir /etc/yum.repos.d/backup

cp /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/

sed -i 's|metalink|#metalink|g' /etc/yum.repos.d/*.repo

sed -i '/name=CentOS Stream $releasever - BaseOS/a baseurl=https://mirrors.aliyun.com/centos-stream/$stream/BaseOS/$basearch/os/' /etc/yum.repos.d/*.repo

sed -i '/name=CentOS Stream $releasever - AppStream/a baseurl=https://mirrors.aliyun.com/centos-stream/$stream/AppStream/$basearch/os/' /etc/yum.repos.d/*.repo

sed -i '/name=CentOS Stream $releasever - Extras packages/a baseurl=https://mirrors.aliyun.com/centos-stream/SIGs/$stream/extras/$basearch/extras-common/' /etc/yum.repos.d/*.repo

yum clean all

yum makecache

yum update

安装一些必要的依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

下载docker

添加docker仓库

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

下载docker

sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  • 笔者这里遇到下载缓慢,失败的情况,于是在本机手动下载rpm,上传至centos,手动安装

rpm下载地址

下载各个组件最新版本即可
在这里插入图片描述

将所有rpm打包 可以使用scp命令进行上传

scp Archive.zip jack@192.168.31.86:/home/jack/Documents

在这里插入图片描述

在centos解压包

unzip Archive.zip 

手动安装

sudo yum install *.rpm

在这里插入图片描述

启动服务

sudo systemctl start docker

查看版本

docker version

验证docker引擎

sudo docker run hello-world

设置开机自启动

systemctl enable docker

docker仓库镜像加速

cd到/etc/docker/目录下 创建daemon.json文件

cd /etc/docker/

在这里插入图片描述

使用vim写入{ "registry-mirrors": ["https://bb6s1gkq.mirror.aliyuncs.com"] }
在这里插入图片描述

制作容器

  • 由于示例作用,本项目将前端 后端 数据库分别部署到不同容器,也就是需要三个容器

前端nginx容器制作

docker pull nginx
docker run -d -p 80:80 --name nginx nginx

在这里插入图片描述

下载网络工具

sudo yum install net-tools

查看centos所在ip

ifconfig

在这里插入图片描述

将ip地址输入至浏览器

在这里插入图片描述

打包vue前端项目 找到.env.production文件 修改VITE_APP_BASE_API为虚拟机的ip地址加后端留出的端口
在这里插入图片描述

在vue项目目录下打开terminal 输入命名 打包程序

npm run build:prod

打包成功后 html代码会生成在项目根目录下的dist目录
在这里插入图片描述

重新开一个terminal 可以将dist目录打包上传至虚拟机,在此笔者就演示scp命令
在这里插入图片描述

在虚拟机里写好一个配置文件

cd ~
touch vue.conf 
vim vue.conf

编辑vue.conf 输入以下内容
在这里插入图片描述

将此配置文件复制进nginx容器内 具体参考图片内的命令。然后复制dist目录,发现没有app目录,于是进入容器创建此目录

在这里插入图片描述

访问centos ip 发现页面没有更换 于是重启下nginx容器

docker stop nginx 
docker start nginx

网页成功加载,由于后端服务未部署,所以无法进入后台

在这里插入图片描述

后端centos容器制作

docker pull centos:8
dokcer run -itd --name centosv8 centos:8 
docker exec -it centosv8 /bin/bash

对此centos8容器进行yum换源

cd /etc/yum.repos.d/ && mkdir backup && mv *repo backup/
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
sed -i -e "s|mirrors.cloud.aliyuncs.com|mirrors.aliyun.com|g " /etc/yum.repos.d/CentOS-*
sed -i -e "s|releasever|releasever-stream|g" /etc/yum.repos.d/CentOS-*
yum clean all && yum makecache

下载passwd成功 证明换源成功

在这里插入图片描述

设置密码

passwd root

安装一些组件

yum install -y unzip zip vim lrzsz wget initscripts

安装完后输入exit退出容器,基于此容器制作新镜像来进一步配置端口映射以及java运行环境

docker commit centosv8 centosv8l
docker run -itd -p 8989:8989 --name centos centosv8l 
docker exec -it centos /bin/bash
yum install -y java-17

打包后端java项目 打包前需要修改mysql的ip地址为centos的,用户名和密码自定义 但需要和稍后制作的mysql容器保持一致

在这里插入图片描述

点击IDEA右侧的Maven项目管理工具,点击package一键打包

在这里插入图片描述

在项目目录下的targets目录找到jar包 上传至centos
在这里插入图片描述

在这里插入图片描述

复制此jar进centos容器内 并运行

docker cp youolai-boot.jar centos:/root
docker exec -it centos /bin/bash
nohup java -jar youlai-boot.jar

数据库mysql容器制作

docker pull mysql
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=111111 -d mysql

将项目sql脚本上传
在这里插入图片描述
在这里插入图片描述

将脚本复制进mysql容器并运行
在这里插入图片描述

访问网页 成功登入 前 后 数据库已成功连接
在这里插入图片描述

总结

本次示例分别使用nginx,centos,mysql三个容器来运行前端,后端,数据库服务,仅仅是为了让大家熟悉一下java项目的组成以及docker的使用

docker的作用就是可以快速打包容器为镜像,服务部署一次,可以直接拿镜像在其他机器上快速运行,熟悉掌握docker也会大大减少linux开发人员配置环境的繁琐步骤

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当然,我可以为您提供一个详细教程来帮助您部署Vue+SpringBoot前后端分离项目到云服务器上使用Docker。 首先,确保您已经完成以下准备工作: - 注册一个云服务提供商的账号,并创建一个云服务器实例。 - 在本地环境中安装了Docker,并熟悉Docker的基本操作。 - 本地已经安装了Node.js和npm,以及Vue CLI和Java开发环境。 以下是详细的步骤: 1. 登录到云服务器: 使用SSH工具连接到您的云服务器。例如,使用命令行工具执行以下命令: ``` ssh username@server_ip_address ``` 2. 安装Docker: 根据您的云服务器的操作系统,选择对应的安装方式进行Docker安装。以下是一些常见操作系统的安装命令: - Ubuntu: ``` sudo apt-get update sudo apt-get install docker.io ``` - CentOS: ``` sudo yum update sudo yum install docker ``` 3. 验证Docker安装是否成功: 执行以下命令来验证Docker是否已经成功安装: ``` docker version ``` 4. 构建Vue项目: 在本地开发环境中,使用Vue CLI创建Vue项目,并进行开发和测试。确保项目可以正常运行。 ``` vue create myproject cd myproject npm run serve ``` 5. 打包Vue项目: 在Vue项目根目录下执行以下命令,将Vue项目打包成静态文件。 ``` npm run build ``` 6. 创建SpringBoot项目使用Spring Initializr创建SpringBoot项目,并进行开发和测试。确保项目可以正常运行。 - 访问Spring Initializr网站:https://start.spring.io/ - 选择项目的基本设置,如使用的编程语言、构建工具、Spring Boot版本等。 - 添加所需的依赖项,如Spring Web、Spring Data JPA等。 - 点击"Generate"按钮下载生成的SpringBoot项目压缩包。 - 解压缩项目压缩包,并使用您喜欢的集成开发环境(IDE)打开项目。 7. 创建Dockerfile: 在SpringBoot项目的根目录下创建一个名为`Dockerfile`的文件,用于定义Docker镜像的构建步骤。在`Dockerfile`中添加以下内容: ``` FROM openjdk:8-jdk-alpine VOLUME /tmp ADD target/myproject.jar app.jar ENTRYPOINT ["java", "-jar", "/app.jar"] ``` 8. 构建Docker镜像: 在SpringBoot项目的根目录下执行以下命令,构建Docker镜像: ``` docker build -t myproject . ``` 9. 运行Docker容器: 执行以下命令,在Docker中运行SpringBoot项目Docker容器: ``` docker run -d -p 80:8080 myproject ``` 10. 访问应用: 使用浏览器访问您的云服务器的公网IP地址,即可查看部署好的前后端分离项目。 希望这个详细教程能够帮助您成功部署Vue+SpringBoot前后端分离项目到云服务器上使用Docker。如果您有任何问题,请随时提问!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值