首页 > 编程语言 >如何全程使用docker部署jeecg平台,无需安装开发环境(主要是如何使用Docker来进行Maven打包,Nodejs构建)

如何全程使用docker部署jeecg平台,无需安装开发环境(主要是如何使用Docker来进行Maven打包,Nodejs构建)

时间:2024-05-22 18:08:14浏览次数:26  
标签:maven compose Nodejs -- sudo Maven usr docker

在部署jeecg平台时,文档中即使通过docker部署,也需要安装开发环境编译一部分内容,本文记录使用docker替代安装环境的过程。
使用docker的目的是在平台选型的过程中,不希望麻烦的安装环境,同时如果选型不满意,无需卸载环境就能恢复一个干净的系统。
部署环境:Ubuntu Server 20.04

  1. docker,docker-compose 安装
sudo apt install docker #docker安装
docker -v #验证安装是否成功 成功显示docker版本
nano /etc/docker/daemon.json  # 添加镜像源加速下载,修改为如下形式,修改完Ctrl+X退出并按Y确认保存
{
    "registry-mirrors" : [
    "https://registry.docker-cn.com",
    "https://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com",
    "https://cr.console.aliyun.com/"
  ]
}
systemctl restart docker #重启docker服务

#安装docker-compose 需要服务器能连接github
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
#验证安装是否成功 成功显示版本
docker-compose -v
  1. Docker启动单体后台
    官方Docker启动单体后台教程
    先按照教程完成1,2,3步,在第四步执行maven打包时,就可以使用docker进行打包而无需安装maven和jdk

推荐修改插件地址,网络环境好可以不添加:

#修改jeecg-boot/pom.xml
	<pluginRepositories>
		<pluginRepository>
			<id>aliyun</id>
			<name>aliyun Repository</name>
			<url>https://maven.aliyun.com/repository/public</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</pluginRepository>
	</pluginRepositories>

添加层级见图:

# 先拉取镜像 使用maven:3.8.6-openjdk-8-slim
sudo docker pull maven:3.8.6-openjdk-8-slim

#在docker中创建卷,用于仓库缓存
sudo docker volume create --name maven-repo

#进入工作目录
cd jeecg-boot
#执行打包
sudo docker run -it --rm --name jeecg-boot \
-v maven-repo:/root/.m2 \
-v "$(pwd)":/usr/src/mymaven -w /usr/src/mymaven \
maven:3.8.6-openjdk-8-slim mvn clean install

命令解析:

  • sudo docker run: 运行 Docker 容器的命令。
  • -it: 分配一个伪终端(pseudo-TTY),并保持标准输入打开。
  • --rm: 当容器退出时自动删除容器。
  • --name jeecg-boot: 为容器指定一个名称为 jeecg-boog。
  • -v maven-repo:/root/.m2: 将名为 maven-repo 的 Docker 卷挂载到容器内的 /root/.m2 目录,用于保存 Maven 依赖项。
  • -v "$(pwd)":/usr/src/mymaven: 将当前主机的工作目录挂载到容器内的 /usr/src/mymaven 目录,用于将项目文件提供给 Maven 构建。
  • -w /usr/src/mymaven: 指定容器内工作目录为 /usr/src/mymaven。
  • maven:3.8.6-openjdk-8-slim: 使用的 Docker 镜像,这里是 Maven 3.8.6 与 OpenJDK 8 的组合。
  • mvn clean install: 在容器内执行的 Maven 命令,用于清理项目并执行安装构建。

注意!下载源通过上面的设置已经全部改成了阿里源,如果卡在某个依赖下载中,直接Ctrl+C终止然后重新打包即可。
第一次打包会下载依赖时间比较慢,我这里花了6分钟完成第一次打包,后面打包因为使用了仓库缓存,速度会快很多

之后执行官方教程就行,注意在docker-compose up -d执行完成后,后台启动需要2分钟左右,可以使用wget http://jeecg-boot-system:8080/jeecg-boot/doc.html等待结果

  1. Docker启动Vue3前端
    官方Docker启动Vue3前端教程
    和上面一样,先按教程完成123步,第四步就可以使用docker来操作了
#拉起pnpm镜像
sudo docker pull guergeiro/pnpm:20-8
#下载依赖源
sudo docker run -it --rm --name jeecgboot-vue \
-v "$(pwd)":/usr/src/vueprj -w /usr/src/vueprj \
guergeiro/pnpm:20-8 pnpm i --registry=https://registry.npmmirror.com
#开始编译
sudo docker run -it --rm --name jeecgboot-vue \
-v "$(pwd)":/usr/src/vueprj -w /usr/src/vueprj \
guergeiro/pnpm:20-8 pnpm run build

之后按官方教程完成部署即可

标签:maven,compose,Nodejs,--,sudo,Maven,usr,docker
From: https://www.cnblogs.com/ddk-/p/18206838

相关文章

  • Docker网络
    Docker0基本原理Docker服务默认会创建一个docker0网桥(evth-pair),它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。1:lo:<LOOPBACK,UP,LOWER_UP>mtu65536qdiscnoqueuestateUNKNOWNgroupdefaultqlen1000link/loopback00......
  • Docker Compose(V2)
    DockerCompose概述DockerCompose是用于定义和运行多容器应用程序的工具。这是解锁简化和高效的开发和部署体验的关键。Compose简化了对整个应用程序堆栈的控制,让您能够在单个易于理解的YAML配置文件中轻松管理服务、网络和卷。然后,只需一个命令,即可创建并启动所有服务......
  • Docker容器数据卷
    什么是容器数据卷容器的持久化和同步操作,也可以实现容器间的数据共享使用数据卷使用-v命令dockerrun-v主机目录:容器目录dockerrun-it-vd:/test22:/homecentosdockerinspect"Mounts":[{"Type":"bind","Source":"......
  • DockerFile
    DockerFile介绍DockeFile是用来构建docker镜像的描述文件,命令参数的脚本。构建步骤1、编写一个dockerfile文件2、dockerbuild构建成为一个镜像3、dockerrun运行镜像4、dockerpush发布镜像DockerFile构建过程基础知识:1、每个保留关键字(指令)都是必须是大写字母2......
  • Docker常用命令
    Docker常用命令2024年1月19日,星期五17:58拉取镜像dockerpullcentos运行容器dockerrun[可选参数]imagedockerrun-itcentos/bin/bashdockerrun-d--namenginx001-p3344:80nginx参数说明--name="Name"#容器名字tomcat0ltomcat02,用来区分容器-d......
  • 一个maven打包Fatjar的配置(非遮蔽)
     <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>3.6.0</version><configur......
  • 将本地 JAR 包安装到本地 Maven 仓库
    首先,需要将本地的JAR包安装到你的本地Maven仓库中。可以使用mvninstall:install-file命令来完成这一步。1.打开终端或命令行2.运行以下命令,将JAR文件安装到本地Maven仓库:mvninstall:install-file-Dfile=path/to/your/local-jar-file.jar-DgroupId=com.example-......
  • nodejs中express搭建本地web服务器
    constexpress=require("express");constfs=require("fs");constpath=require("path");constapp=express();//读取当前目录中public文件中所有文件constdirectorPath=path.join(__dirname,"public");app.get("/&quo......
  • docker oracle19c
    --name"oracle19c"           --指定了容器名称-p1521:1521               --将容器内监听端口映射到宿主机的1521端口,如果本地已经安装过数据库1521被占用,需要修改前面的端口号,例如:-p1522:1521-eORACLE_PDB=orcl  ......
  • Jenkins安装和新建maven项目
    Jenkins安装和新建maven项目官方文档:https://www.jenkins.io中午文档:https://www.jenkins.io/zh/doc/pipeline/tour/getting-started/安装需求机器要求:256MB内存,建议大于512MB10GB的硬盘空间(用于Jenkins和Docker镜像)需要安装以下软件:Java8(JRE或者JD......