前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker 里面安装 nacos (亲测有效)

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

作者头像
一写代码就开心
发布2024-01-12 08:49:21
2220
发布2024-01-12 08:49:21
举报
文章被收录于专栏:java和pythonjava和python

1 安装

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

docker 安装 zookeeper ( 亲测有效 )

从官网下载 nacos 的 镜像的tar 包

在这里插入图片描述
在这里插入图片描述

将tar 包 上传到服务器

在这里插入图片描述
在这里插入图片描述

上传之后tar 包,将他变成镜像 输入docker images,发现目前是没有镜像的,现在将tar 包变成镜像

代码语言:javascript
复制
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 文件 现在有一个关于编排文件,就是使用他去管理

代码语言:javascript
复制
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

执行

代码语言:javascript
复制
docker-compose -f nacos.yml up -d

以上就启动了,但是有一个问题,就是启动后立马停止

查看日志

代码语言:javascript
复制
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容器的正常运行。确保系统资源充足可以避免容器在运行过程中被操作系统终止

查看当前服务器的内存

代码语言:javascript
复制
free   -h
在这里插入图片描述
在这里插入图片描述

发现可用才 953M ,nacos 启动最少 1个G 一般nacos 启动之后,内存要2个G 以上才可以正常使用,所以是我内存小问题

修改

代码语言:javascript
复制
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被用作缓存。在这种情况下,如果您想释放内存,可以尝试以下方法:

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

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

代码语言:javascript
复制
sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'

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

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-01-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 安装
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档