研发工具包
约 821 字大约 3 分钟
1. 项目概览
tool,研发工具包,基于docker快速搭建研发环境。
2. 前置环境
3. 项目目录
tool
├─build # 构建私有镜像
│ └─** # 私有镜像构建目录(以镜像名为文件夹)
│ │ └─Dockerfile # 私有构建脚本
│ └─docker.push.sh # 上传镜像脚本
├─deploy # 部署镜像
│ ├─** # 部署镜像挂载配置文件(以镜像名为文件夹)
│ ├─docker-compose.yml # 部署描述文件
│ ├─start.sh # 启动镜像脚本
│ ├─stop.sh # 停止镜像脚本
│ └─tool.env # 环境变量
4. 工具包列表
| 名称 | 版本 | 默认端口 | 默认用户名/密码 |
|---|---|---|---|
| mysql | 5.7.36 | 3306 | root/123456 |
| redis | 6.2.13 | 6379 | 123456 |
| nacos | 2.2.0 | 8848,9848,9849 | nacos/nacos |
| seata | 1.6.1 | 7091,8091 | |
| sentinel | 1.8.6 | 8080 | sentinel/sentinel |
| zookeeper | 3.7.0 | 2181 | |
| kafka | 3.1.0 | 9092 | |
| rocketmq | 5.0.0 | 9876,10911,19876 | |
| nginx | 1.25.2 | 80 |
5. 构建私有镜像
提示
某些中间件官方没有提供docker镜像版本,需要编写 Dockerfile 文件构建私有镜像。如果获取免费的私有镜像参见2.1. docker镜像仓库。
- 进入
build/***文件夹,运行如下脚本即可构建镜像至docker镜像仓库。
# 登录镜像仓库
docker login registry.cn-hangzhou.aliyuncs.com --username=jerryup
# eg. docker build -t registry.cn-hangzhou.aliyuncs.com/jerry-up/javaversion:1.0.0 .
docker build -t 镜像名 .
# eg. docker push registry.cn-hangzhou.aliyuncs.com/jerry-up/javaversion:1.0.0
docker push 镜像名

6. 部署镜像
提示
基于 docker-compose ,快速部署镜像搭建研发环境。
6.1. 修改配置文件
deploy/tool.env文件指定挂载目录以及相应服务映射的端口。内网IP默认配置为192.168.37.164,需修改为正确的宿主机内网IP。
| 配置项 | 说明 | 默认值 |
|---|---|---|
| VOLUMES_PATH | 挂载目录 | . |
| CONTAINER_PREFIX | 容器名前缀 | jerry-up |
| MYSQL_PORT | mysql端口 | 3306 |
| MYSQL_PASSWORD | mysql密码 | 123456 |
| REDIS_PORT | redis端口 | 6379 |
| REDIS_PASSWORD | redis密码 | 123456 |
| NACOS_SERVER_IP | nacos注册IP | 192.168.37.164 |
| NACOS_SERVER_PORT | nacos端口 | 8848 |
| NACOS_CLIENT_GRPC_PORT | nacos客户端rpc端口 | 9848 |
| NACOS_SERVER_GRPC_PORT | nacos服务端rpc端口 | 9849 |
| SEATA_IP | seata注册IP | 127.0.0.1 |
| SEATA_NACOS_APPLICATION | seata应用名 | seata-server |
| SEATA_GROUP | seata组 | 8080 |
| SEATA_CONSOLE_PORT | seata控制台端口 | 7091 |
| SEATA_SERVER_PORT | seata服务端口 | 8091 |
| SENTINEL_PORT | sentinel端口 | 18080 |
| SENTINEL_USER_NAME | sentinel用户名 | sentinel |
| SENTINEL_PASSWORD | sentinel密码 | sentinel |
| ZK_CLIENT_PORT | zookeeper控制台端口 | 2181 |
| ZK_ADMIN_PORT | zookeeper管理端口 | 2182 |
| KAFKA_PORT | kafka端口 | 9092 |
| ROCKETMQ_NAMESERVER_PORT | rocketmq#NameServer端口 | 9876 |
| ROCKETMQ_BROKER_PORT | rocketmq#Broker端口 | 10911 |
| ROCKETMQ_CONSOLE_PORT | rocketmq#Dashboard端口 | 19876 |
| NGINX_PORT | nginx端口 | 80 |
6.2. 注意事项
mysql
- 配置文件挂载至
deploy/mysql/my.ini。 - 第一次启动会执行
deploy/mysql/nacos.sql,deploy/mysql/seata.sql数据库脚本。
- 配置文件挂载至
seata-server
- 配置文件挂载至
deploy/seata-server/application.yml。 - 第一次启动seata因为没有配置会失败,将
deploy/seata-server/SEATA_GROUP压缩为zip文件之后导入nacos。
- 配置文件挂载至
zookeeper
- 配置文件挂载至
deploy/zookeeper/zoo.cfg。
- 配置文件挂载至
kafka
- 配置文件挂载至
deploy/kafka/server.properties,advertised.listeners,advertised.host.name修改为宿主机IP。
- 配置文件挂载至
rocketmq-broker
- 配置文件挂载至
deploy/rocketmq-broker/broker.conf,brokerIP1为宿主机IP,该IP用于向rocketmq-mqnamesrv注册集群时指定地址。
- 配置文件挂载至
rocketmq-console
- 配置文件挂载至
deploy/rocketmq-console/users.properties,用于配置用户密码,默认密码为123456。
- 配置文件挂载至
nginx
- 配置文件挂载至
deploy/nginx/nginx.conf
- 配置文件挂载至
6.3. 部署
进入 deploy 目录,运行如下脚本进行部署。
docker-compose --env-file=tool.env up -d

