Docker实用-安装Nacos

2023-05-23  本文已影响0人  轻轻敲醒沉睡的心灵

先给出来官网,方便查阅信息:nacos官网
docker安装nacos,其实官方已经给出脚本了,而且给的还挺全。但就是太扯淡了,compose.yml中还带数据库了,也就是按他的那个,nacos容器启动了,还给你另起了mysql容器,给的挺全,有支持mysql5.7的脚本,有支持mysql8的脚本。不知道产品经理脑袋是不是被绿提过,就是不给你整合自己原有数据库的脚本,这不扯淡吗,我都要整合数据库了,我自己能没数据库吗,还用你再给我启个mysql容器?
你要是没有mysql数据库,直接用官方的就行了。我这里就直接给出整合自己原数据库的(但前提是,你自己必须先建好nacos数据库,并导入表,官网都有)。

1. 单机

单机和集群一样,也用 docker-compose.yml文件。

sudo mkdir -p /home/soft/nacos/
cd /home/soft/nacos
sudo vim nacos.yml

写入以下配置:

version: "3.9"
services:
  nacos:
    hostname: nacos
    container_name: nacos
    image: nacos/nacos-server:v1.4.5
    volumes:
      - /home/soft/nacos/logs:/home/nacos/logs
      - /home/soft/nacos/custom.properties:/home/nacos/init.d/custom.properties
    ports:
      - "8848:8848"
      - "9848:9848"
      - "9555:9555"
    environment:
      PREFER_HOST_MODE: ip
      MODE: standalone
      SPRING_DATASOURCE_PLATFORM: mysql
      MYSQL_SERVICE_HOST: 192.168.20.22
      MYSQL_SERVICE_DB_NAME: nacos
      MYSQL_SERVICE_PORT: 3306
      MYSQL_SERVICE_USER: root
      MYSQL_SERVICE_PASSWORD: mysql123
      MYSQL_SERVICE_DB_PARAM: characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false
      JVM_XMS: 256m
      JVM_XMX: 512m
      JVM_XMN: 256m
      NACOS_AUTH_IDENTITY_KEY: nacos
      NACOS_AUTH_IDENTITY_VALUE: nacos
      # 2.0以上版本开启鉴权时要添加这个,可以改,位数这么多就行
      # NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
    restart: always
    ## 如果没有自定义网络,下面的networks都可以不写
    networks:
      zrb_network:
        ipv4_address: 192.168.20.30
## 已经自定义好的网络
networks:
  zrb_network: 
    external: true

检查,启动:

sudo docker compose -f nacos.yml config -q
sudo docker compose -f nacos.yml up -d

2. 集群

集群也是一样的。

sudo mkdir -p /home/soft/nacos-cluster/
cd /home/soft/nacos
sudo vim nacos-cluster.yml

写入以下配置:

version: "3.9"
services:
  nacos8848: 
    hostname: nacos8848
    container_name: nacos8848
    image: nacos/nacos-server:v1.4.5
    volumes:
      - /home/soft/nacos-cluster/8848/logs:/home/nacos/logs
      - /home/soft/nacos-cluster/8848/custom.properties:/home/nacos/init.d/custom.properties
    environment:
      PREFER_HOST_MODE: ip
      MODE: cluster
      NACOS_SERVER_IP: 182.168.20.31
      NACOS_APPLICATION_PORT: 8848
      NACOS_SERVERS: "192.168.20.31:8848 192.168.20.32:8848 192.168.20.33:8848"
      SPRING_DATASOURCE_PLATFORM: mysql
      MYSQL_SERVICE_HOST: 192.168.20.22
      MYSQL_SERVICE_PORT: 3306
      MYSQL_SERVICE_DB_NAME: nacos
      MYSQL_SERVICE_USER: root
      MYSQL_SERVICE_PASSWORD: mysql123
      JVM_XMS: 256m
      JVM_XMX: 512m
      JVM_XMN: 256m
      NACOS_AUTH_IDENTITY_KEY: nacos
      NACOS_AUTH_IDENTITY_VALUE: nacos
      # 2.0以上版本开启鉴权时要添加这个,可以改,位数这么多就行
      # NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
    ports:
      - "8848:8848"
      - "9848:9848"
      - "9555:9555"
    restart: always  
    networks:
      zrb_network:
        ipv4_address: 192.168.20.31
 
  nacos8849: 
    hostname: nacos8849
    container_name: nacos8849
    image: nacos/nacos-server:v1.4.5
    volumes:
      - /home/soft/nacos-cluster/8849/logs:/home/nacos/logs
      - /home/soft/nacos-cluster/8849/custom.properties:/home/nacos/init.d/custom.properties
    environment:
      PREFER_HOST_MODE: ip
      MODE: cluster
      NACOS_SERVER_IP: 182.168.20.32
      NACOS_APPLICATION_PORT: 8848
      NACOS_SERVERS: "192.168.20.31:8848 192.168.20.32:8848 192.168.20.33:8848"
      SPRING_DATASOURCE_PLATFORM: mysql
      MYSQL_SERVICE_HOST: 192.168.20.22
      MYSQL_SERVICE_PORT: 3306
      MYSQL_SERVICE_DB_NAME: nacos
      MYSQL_SERVICE_USER: root
      MYSQL_SERVICE_PASSWORD: mysql123
      JVM_XMS: 256m
      JVM_XMX: 512m
      JVM_XMN: 256m
      NACOS_AUTH_IDENTITY_KEY: nacos
      NACOS_AUTH_IDENTITY_VALUE: nacos
      # 2.0以上版本开启鉴权时要添加这个,可以改,位数这么多就行
      # NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
    ports:
      - "8849:8848"
      - "9849:9848"
    restart: always  
    networks:
      zrb_network:
        ipv4_address: 192.168.20.32
    
  nacos8850: 
    hostname: nacos8850
    container_name: nacos8850
    image: nacos/nacos-server:v1.4.5
    volumes:
      - /home/soft/nacos-cluster/8850/logs:/home/nacos/logs
      - /home/soft/nacos-cluster/8850/custom.properties:/home/nacos/init.d/custom.properties
    environment:
      PREFER_HOST_MODE: ip
      MODE: cluster
      NACOS_SERVER_IP: 182.168.20.33
      NACOS_APPLICATION_PORT: 8848
      NACOS_SERVERS: "192.168.20.31:8848 192.168.20.32:8848 192.168.20.33:8848"
      SPRING_DATASOURCE_PLATFORM: mysql
      MYSQL_SERVICE_HOST: 192.168.20.22
      MYSQL_SERVICE_PORT: 3306
      MYSQL_SERVICE_DB_NAME: nacos
      MYSQL_SERVICE_USER: root
      MYSQL_SERVICE_PASSWORD: mysql123
      JVM_XMS: 256m
      JVM_XMX: 512m
      JVM_XMN: 256m
      NACOS_AUTH_IDENTITY_KEY: nacos
      NACOS_AUTH_IDENTITY_VALUE: nacos
      # 2.0以上版本开启鉴权时要添加这个,可以改,位数这么多就行
      # NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
    ports:
      - "8850:8848"
      - "9850:9848"
    restart: always  
    networks:
      zrb_network:
        ipv4_address: 192.168.20.33

## 已经自定义好的网络          
networks:
  zrb_network: 
    external: true 

检查,启动:

sudo docker compose -f nacos-cluster.yml config -q
sudo docker compose -f nacos-cluster.yml up -d
上一篇下一篇

猜你喜欢

热点阅读