ruoyi使用docker部署脚本

#!/bin/sh

# 使用说明,用来提示输入参数
usage() {
	echo "Usage: sh 执行脚本.sh [port|base|modules|stop|rm]"
	exit 1
}

# 开启所需端口
port(){
	firewall-cmd --add-port=80/tcp --permanent
	firewall-cmd --add-port=8080/tcp --permanent
	firewall-cmd --add-port=8848/tcp --permanent
	firewall-cmd --add-port=9848/tcp --permanent
	firewall-cmd --add-port=9849/tcp --permanent
	firewall-cmd --add-port=6379/tcp --permanent
	firewall-cmd --add-port=3306/tcp --permanent
	firewall-cmd --add-port=9100/tcp --permanent
	firewall-cmd --add-port=9200/tcp --permanent
	firewall-cmd --add-port=9201/tcp --permanent
	firewall-cmd --add-port=9202/tcp --permanent
	firewall-cmd --add-port=9203/tcp --permanent
	firewall-cmd --add-port=9300/tcp --permanent
	service firewalld restart
}

# 启动基础环境(必须)
base(){
	docker-compose up -d ruoyi-mysql ruoyi-redis ruoyi-nacos
}

# 启动程序模块(必须)
modules(){
	docker-compose up -d ruoyi-nginx ruoyi-gateway ruoyi-auth ruoyi-modules-system
}

# 关闭所有环境/模块
stop(){
	docker-compose stop
}

# 删除所有环境/模块
rm(){
	docker-compose rm
}

# 根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"port")
	port
;;
"base")
	base
;;
"modules")
	modules
;;
"stop")
	stop
;;
"rm")
	rm
;;
*)
	usage
;;
esac

### 使用 Docker 部署 RuoYi Cloud Plus #### 准备工作 为了成功部署 RuoYi Cloud Plus 项目,需先准备必要的环境和资源。确保已安装并配置好 DockerDocker Compose 工具。 #### 获取源码与依赖项 通过 Git 命令克隆仓库来获取最新版本的 RuoYi Cloud Plus 源代码[^2]: ```bash git clone https://github.com/dromara/RuoYi-Cloud.git cd RuoYi-Cloud ``` #### 构建镜像 利用 Maven 或 Gradle 来打包应用程序,并基于官方 Java 镜像创建自定义的应用程序容器镜像。此过程通常涉及修改 `pom.xml` 文件或编写专门用于构建 Dockerfile 的脚本文件[^3]。 对于 Spring Boot 应用来说,可以采用如下方式生成可执行 JAR 文件以及对应的 Dockerfile: ```Dockerfile FROM openjdk:8-jdk-alpine VOLUME /tmp ARG JAR_FILE=target/*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] ``` 接着,在命令行中输入以下指令完成镜像制作: ```bash mvn clean package -DskipTests=true docker build -t ruoyi-cloud-plus . ``` #### 启动基础服务 启动 MySQL、Nginx Web Server、Redis 缓存服务器及 MinIO 对象存储等基础设施组件。这些服务可以通过单个 docker-compose.yml 文件统一管理[^1]: ```yaml version: '3' services: mysql: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: rootpassword volumes: - ./mysql-data:/var/lib/mysql nginx-web: image: nginx:latest ports: - "80:80" depends_on: - backend-service redis: image: redis:alpine minio: image: minio/minio command: server /data environment: MINIO_ACCESS_KEY: minioadmin MINIO_SECRET_KEY: minioadmin volumes: - ./minio-data:/data ``` 使用下面这条命令一次性拉起所有关联的服务实例: ```bash docker-compose up -d mysql nginx-web redis minio ``` #### 运行应用服务 最后一步就是让之前编译好的业务逻辑模块作为独立进程加入到现有的集群当中去。假设已经按照上述方法得到了名为 `ruoyi-cloud-plus` 的私有化制品,则只需简单地追加一行新的 service 定义即可实现自动化扩展能力: ```yaml backend-service: image: ruoyi-cloud-plus ports: - "8080:8080" depends_on: - mysql - redis environment: SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/dbname?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 SPRING_REDIS_HOST: redis ``` 再次调用相同的组合操作语句使变更生效: ```bash docker-compose up --build -d ``` 这样便完成了整个系统的搭建流程,现在应该可以在浏览器里访问 http://localhost 地址查看前端页面了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值