docker部署nacos

参考

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

https://nacos.io/zh-cn/docs/v2/guide/admin/monitor-guide.html

简介

最近以优惠价购买了云服务器,想着不能浪费资源,打算做点东西,玩一玩。可还是高估了我的经济实力,1C2G是真的不够用,我在这台机器上装了JDKMavenRocketMQ、DockerDocker-compose,同时在Docker下运行了MySQLRedisNginxRocketMQ-Dashboard,到这里其实都还好,在修改启动参数的情况下勉强够用。

但为了学习微服务,向Spring Cloud Alibaba靠,准备搭建Nacos作为注册中心和配置中心,这下问题来了,按照官网的部署方案,出了问题,在这里记录一下,为他人学习提供一下参考。

部署

version: "2"
services:
  nacos:
    image: nacos/nacos-server:latest
    container_name: nacos-standalone
    environment:
    - PREFER_HOST_MODE=hostname
    - MODE=standalone
    # 加上了启动参数配置
    - JVM_XMS=256m
    - JVM_XMX=256m
    - JVM_XMN=128m
    volumes:
    # 挂载nacos配置文件
    - ./init.d/application.properties:/home/nacos/conf/application.properties
    - ./standalone-logs/:/home/nacos/logs
    - ./init.d/custom.properties:/home/nacos/init.d/custom.properties
    ports:
    - "8848:8848"
    - "9848:9848"
  prometheus:
    container_name: prometheus
    image: prom/prometheus:latest
    volumes:
      - ./prometheus/prometheus-standalone.yaml:/etc/prometheus/prometheus.yml
    ports:
      - "9090:9090"
    depends_on:
      - nacos
    restart: on-failure
  grafana:
    container_name: grafana
    image: grafana/grafana:latest
    volumes:
    # 挂载grafana配置文件
      - ./grafana/config/grafana.ini:/etc/grafana/grafana.ini
    ports:
      - 3000:3000
    restart: on-failure

docker-compose如上,其中注释是我在原有上加的,自己部署时可以参考官网再做改动。

启动时注意这些端口有没有被占用,有的就改一下映射。

nacos启动参数配置

主要是我的机器太拉了,不然还是使用默认配置就好

属性 说明 默认
JVM_XMS -Xms 默认 :1g
JVM_XMX -Xms 默认 :1g
JVM_XMN -Xms 默认 :512m

挂载nacos配置文件

之所以挂载nacos配置文件,是因为之后接入Prometheus需要这个配置项打开,而在docker容器内配置实在有些麻烦。

application.properties

### Metrics for prometheus
management.endpoints.web.exposure.include=*

挂载grafana配置文件

这个我的问题还没解决,就是关于grafana.init配置文件,明明改了domain配置,可配置钉钉通知后,链接仍然是localhost,导致访问链接一直是错误的。

启动

docker-compose -f example/standalone-derby.yaml up -d

加上-d后台启动方式

# 查看启动情况
docker-compose -f example/standalone-derby.yaml ps


CONTAINER ID   IMAGE                       COMMAND                  CREATED         STATUS         PORTS                                                                                  NAMES
4ca1c13e6a6b   prom/prometheus:latest      "/bin/prometheus --c…"   2 minutes ago   Up 2 minutes   0.0.0.0:9090->9090/tcp, :::9090->9090/tcp                                              prometheus
05fc4410bbd5   grafana/grafana:latest      "/run.sh"                2 minutes ago   Up 2 minutes   0.0.0.0:3000->3000/tcp, :::3000->3000/tcp                                              grafana
35ae7aae1e09   nacos/nacos-server:latest   "bin/docker-startup.…"   2 minutes ago   Up 2 minutes   0.0.0.0:8848->8848/tcp, :::8848->8848/tcp, 0.0.0.0:9848->9848/tcp, :::9848->9848/tcp   nacos-standalone

控制台检查

这里注意提前把网络开通,防火墙、安全组这些

nacos

http://ip:8848/nacos

用户名密码:nacos/nacos

prometheus

http://ip:9090/

搜索:nacos_monitor,检查prometheus有没有采集到nacos数据

grafana

http://ip:3000/

用户名密码:admin/admin

首次登录需要修改密码

grafana配置

Configuration->Datassources->选择Prometheus

这里要注意了,按照官方说的说法确实没错,但是很容易出错,因为官网配置的的prometheus而Grafana默认配置的的是Prometheus,就是因为这一个字母大小小写,为之后从官网导入配置埋下伏笔。

Create->Import->Upload JSON file

倒入官网配置文件即可

你可能感兴趣的:(docker,java,微服务)