安装 nacos 之前,需要在服务器上安装 zookeeper,这个是必须的,因为nacos 需要依赖 zookeeper;
从官网下载 nacos 的 镜像的tar 包
将tar 包 上传到服务器
上传之后tar 包,将他变成镜像
输入docker images,发现目前是没有镜像的,现在将tar 包变成镜像
docker load -i nacos.tar
以上就将tar 包变成镜像了
因为nacos 需要数据库,所以需要将nacos 的 sql 脚本在 数据库里面执行
我们在docker 里面安装的 mysq数据库里面进行导入,因为nacos 默认的数据库是mysql ,所以我们需要在docker 里面安装mysql 数据库,这个数据库的目的就是为了 nacos 使用,之后将nacos.sql 脚本在mysql 数据库里面进行安装。
以上就是关于nacos 的 mysql 数据库表有了,zookeeper 有了,nacos 镜像有了
接下来就是安装 nacos
因为我们要使用 Docker-compose 去管理容器,所以要使用Docker-compose 的东西;
我们需要找一个位置,专门放各个yml 文件
现在有一个关于编排文件,就是使用他去管理
version: "2"
services:
nacos:
image: nacos/nacos-server
hostname: nacos
container_name: nacos
ports:
- "18848:8848"
environment:
- MODE=standalone
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_SERVICE_HOST=123.57.55.19
- MYSQL_SERVICE_PORT=13306
- MYSQL_SERVICE_DB_NAME=nacos
- MYSQL_SERVICE_USER=root
- MYSQL_SERVICE_PASSWORD=060708
- NACOS_DEBUG=n
- TZ=Asia/Shanghai
执行
docker-compose -f nacos.yml up -d
以上就启动了,但是有一个问题,就是启动后立马停止
查看日志
docker logs -f nacos
bin/docker-startup.sh: line 109: 20 Killed nohup
JAVA{JAVA_OPT} > ${BASE_DIR}/logs/start.out 2>&1 < /dev/null 报这个错误
您的Nacos容器在启动时遇到了内存问题,导致被操作系统终止。您的系统中可用的内存似乎不足以支持Nacos容器所需的内存配置。
要解决这个问题,您可以尝试以下几个方案:
增加可用内存:您可以尝试在运行Nacos容器之前,释放一些系统内存,或者增加系统的物理内存。这样可以提供更多的可用内存供Nacos容器使用。
调整Java堆内存配置:您可以尝试将JAVA_OPT
中的堆内存配置减小,以适应当前可用内存。例如,将-Xms256m -Xmx256m
修改为较小的值,如-Xms128m -Xmx128m
。这样可以降低Nacos容器的内存需求。
检查其他系统资源:除了内存之外,还应该检查其他系统资源(如CPU、磁盘空间)是否足够支持Nacos容器的正常运行。确保系统资源充足可以避免容器在运行过程中被操作系统终止
查看当前服务器的内存
free -h
发现可用才 953M ,nacos 启动最少 1个G
一般nacos 启动之后,内存要2个G 以上才可以正常使用,所以是我内存小问题
修改
version: "2"
services:
nacos:
image: nacos/nacos-server
hostname: nacos
container_name: nacos
ports:
- "18848:8848"
environment:
- MODE=standalone
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_SERVICE_HOST=172.21.148.50
- MYSQL_SERVICE_PORT=13306
- MYSQL_SERVICE_DB_NAME=nacos
- MYSQL_SERVICE_USER=root
- MYSQL_SERVICE_PASSWORD=060708
- NACOS_DEBUG=n
- TZ=Asia/Shanghai
- nacos.naming.cache.size=200
- nacos.naming.thread.pool.size=4
- JAVA_OPT=-Xms64m -Xmx64m
释放内存
根据您提供的系统内存信息,您的系统总共有1.7GB的内存,其中395MB已被使用,936MB是空闲的,而406MB被用作缓存。在这种情况下,如果您想释放内存,可以尝试以下方法:
关闭不必要的进程:检查系统中运行的进程,并关闭那些不必要的进程。可以使用top
或htop
命令查看当前运行的进程,并根据需要终止它们。
释放缓存:缓存是操作系统为了提高性能而将数据存储在内存中的一种方式。您可以使用以下命令来释放缓存:
sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
这将清除缓存并释放一些内存。
减少内存使用的应用程序:检查正在运行的应用程序,并尝试减少它们使用的内存量。关闭不必要的应用程序或服务,并检查它们的内存使用情况。
还是增加内存吧,释放也放不了多少