用的是官方的方式
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/)
之后配置数据库
配置数据库
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
即可启动容器
用户名密码默认都是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