天天看點

docker環境搭建nacos

用的是官方的方式

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

但是需要安裝 docker-compose

curl -L https://github.com/docker/compose/releases/download/1.10.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
           

如果之前使用指令建立了軟鍊,再重新建立的時候需要先删除 /usr/bin/docker-compose,再建立一次 

隻能用這個1.10.0----1.12.0的compose版本,因為nacos現在的版本号寫的2。

否則會出現

Unsupported config option for services service:這種bug。

docker-compose --version 可檢視版本

而我那是下的時最新的docker-compose的1.3.1版本,這時候如果不知道自己的docker-compose是什麼版本可以去官網看看

(https://docs.docker.com/compose/compose-file/compose-file-v3/)

docker環境搭建nacos

之後配置資料庫

配置資料庫

https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql

修改這個檔案

example/standalone-mysql-5.7.yaml

version: "2"
services:
  nacos:
    image: nacos/nacos-server:2.0.1
    container_name: nacos-standalone-mysql
    env_file:
      - ../env/nacos-standlone-mysql.env
    volumes:
      - ./standalone-logs/:/home/nacos/logs
      - ./init.d/custom.properties:/home/nacos/init.d/custom.properties
    ports:
      - "8848:8848"
      - "9848:9848"
      - "9555:9555"
#    depends_on:
#      - mysql
    restart: on-failure
#  mysql:
#    container_name: mysql
#    image: nacos/nacos-mysql:5.7
#    env_file:
#      - ../env/mysql.env
#    volumes:
#      - ./mysql:/var/lib/mysql
#    ports:
#      - "3306:3306"
#  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
#    ports:
#      - 3000:3000
#    restart: on-failure
           

編輯資料庫連接配接

env/nacos-standlone-mysql.env

PREFER_HOST_MODE=hostname
MODE=standalone
SPRING_DATASOURCE_PLATFORM=mysql
MYSQL_SERVICE_HOST=192.168.0.12
MYSQL_SERVICE_DB_NAME=nacos_config
MYSQL_SERVICE_PORT=3306
MYSQL_SERVICE_USER=root
MYSQL_SERVICE_PASSWORD=123456
MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false
           

如果需要授權在build/Dokerfile裡添加環境變量

NACOS_AUTH_ENABLE=true

最後

docker-compose -f example/standalone-mysql-5.7.yaml up
           

即可啟動容器

通路http://localhost:8848/nacos

使用者名密碼預設都是nacos

---------------------------------------------------------------------

如果上面加了授權,就需要版本号對上才可以。

docker環境搭建nacos

我用的上圖示示的版本,java項目中yml裡才可以配置使用者名密碼。

 另附版本配合說明

https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E

spring cloud alibaba版本

https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-alibaba-dependencies

Spring Boot 版本

https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-dependencies

Spring Cloud 版本

https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies