天天看点

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