docker 里面安装 nacos (亲测有效)

发布时间:2024年01月11日

目录

1 安装

安装 nacos 之前,需要在服务器上安装 zookeeper,这个是必须的,因为nacos 需要依赖 zookeeper;

docker 安装 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 数据库里面进行安装。

docker 安装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容器所需的内存配置。

要解决这个问题,您可以尝试以下几个方案:

  1. 增加可用内存:您可以尝试在运行Nacos容器之前,释放一些系统内存,或者增加系统的物理内存。这样可以提供更多的可用内存供Nacos容器使用。

  2. 调整Java堆内存配置:您可以尝试将JAVA_OPT中的堆内存配置减小,以适应当前可用内存。例如,将-Xms256m -Xmx256m 修改为较小的值,如-Xms128m -Xmx128m。这样可以降低Nacos容器的内存需求。

  3. 检查其他系统资源:除了内存之外,还应该检查其他系统资源(如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被用作缓存。在这种情况下,如果您想释放内存,可以尝试以下方法:

  1. 关闭不必要的进程:检查系统中运行的进程,并关闭那些不必要的进程。可以使用tophtop命令查看当前运行的进程,并根据需要终止它们。

  2. 释放缓存:缓存是操作系统为了提高性能而将数据存储在内存中的一种方式。您可以使用以下命令来释放缓存:

    sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
    

    这将清除缓存并释放一些内存。

  3. 减少内存使用的应用程序:检查正在运行的应用程序,并尝试减少它们使用的内存量。关闭不必要的应用程序或服务,并检查它们的内存使用情况。

还是增加内存吧,释放也放不了多少

文章来源:https://blog.csdn.net/python113/article/details/135518955
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。