用的是官方的方式
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
即可啟動容器
通路http://localhost:8848/nacos
使用者名密碼預設都是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