Nacos安装

1.下载镜像
docker pull nacos/nacos-server

2.启动镜像
docker run -d -p 8848:8848 --env MODE=standalone --name nacos nacos/nacos-server

​Nacos官方文档​

https://nacos.io/zh-cn/docs/quick-start-docker.html

​访问​

localhost:8848/nacos
nacos/nacos

JeecgBoot单体升级微服务之一_mysql

配置

新建 jeecg.yaml、jeecg-dev.yaml配置文件

默认分组

文件存放路径:
jeecg-boot-starter/jeecg-boot-starter-cloud/nacos/jeecg.yaml

JeecgBoot单体升级微服务之一_docker_02

新建 jeecg-dev.yaml
存放路径:
jeecg-boot-starter/jeecg-boot-starter-cloud/nacos/jeecg-dev.yaml

个性化修改配置项:

1、数据库的连接池修改
2、redis 配置
3、rabbitmq 配置
4、xxljob 配置
5、路由配置route 加载方式
6、是否开启xxljob(默认不启用)

JeecgBoot单体升级微服务之一_docker_03

同理 可以创建prod和test环境

​idea 配置 mysql数据库​

JeecgBoot单体升级微服务之一_mysql_04JeecgBoot单体升级微服务之一_redis_05JeecgBoot单体升级微服务之一_mysql_06

​报错​

3680 - Failed to create schema directory 'jeecg-boot' (errno: 28 - No space left on device)
docker pull mysql:latest

docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

​查看docker日志​

JeecgBoot单体升级微服务之一_redis_07

由此可以断定是docker 磁盘不足问题

查看总磁盘使用情况

df 

查看docker磁盘使用情况

  • dokcer磁盘总使用

JeecgBoot单体升级微服务之一_docker_08

  • docker磁盘具体文件目录使用情况
docker system df

JeecgBoot单体升级微服务之一_docker_09

看磁盘占用情况 并没有满呀 怎么会报磁盘不足的问题

先各种方式尝试一下吧

根据尝试的效果来推断造成此问题的原因

清理磁盘两种方式

  • 方式一

慎重

​删除docker镜像​

docker system prune 

以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)

docker system prune -a --force
清理得更加彻底,可以将没有容器使用Docker镜像都删掉
  • 方式二

​查看docker目录​

docker info

JeecgBoot单体升级微服务之一_mysql_10

​查看磁盘容量大的空间​

JeecgBoot单体升级微服务之一_docker_11

​在根目录下创建docker目录​

mkdir -p /data/docker/lib

​迁移/var/lib/docker目录下的文件到新创建的目录/data/docker/lib​

rsync -avz /var/lib/docker /data/docker/lib/

JeecgBoot单体升级微服务之一_mysql_12

​mac docker配置文件​

vim ~/.docker/daemon.json

添加
"graph": "/data/docker/lib/docker",

JeecgBoot单体升级微服务之一_redis_13JeecgBoot单体升级微服务之一_docker_14

​变更成功​

JeecgBoot单体升级微服务之一_mysql_15

​查看指定目录占用磁盘空间​

du -hs /data/docker/lib/docker

JeecgBoot单体升级微服务之一_docker_16

​查看docker占用磁盘空间​

docker system df

JeecgBoot单体升级微服务之一_docker_17

​还是报这个错误​

docker: write /data/docker/lib/docker/image/vfs/.tmp-repositories.json856390741: no space left on device.

​由此可以断定应该不是磁盘的问题了 因为上面为了清理磁盘做了那么大的努力还是没有效果​

​那查看下内存使用情况​

docker stats

JeecgBoot单体升级微服务之一_redis_18

有点小崩溃..

我就索性把最大内存再提高下

​我把docker所占内存从6G提高到了10G才不报错了​

JeecgBoot单体升级微服务之一_docker_19

​经过实践的结果 是因为内存不够的原因导致的异常 但查看内存 并没有使用任何​

  • 疑问
  • 内存问题 怎么报磁盘空间不足?
  • 为什么需要那么大的内存才可以 6G、8G都不行 非得要10G?

​需要专门写一篇文章来解释这个问题,咱们这篇文章的主题是单体升成微服务😂 现在回归正题​

​执行SQL脚本​

JeecgBoot单体升级微服务之一_mysql_20

Redis

docker pull redis:latest

docker run -itd --name redis-test -p 6379:6379 redis

rabbitmq

docker run -d  -p 5672:5672 -p 15672:15672 docker.io/rabbitmq:management

http://47.100.52.202:15672/#/

安装xxl-job

git clone https://gitee.com/pingfanrenbiji/xxl-job.git

JeecgBoot单体升级微服务之一_docker_21

http://localhost:9080/xxl-job-admin/toLogin
admin/123456

JeecgBoot单体升级微服务之一_redis_22