1、官网方式
前置要求
Git + Docker + Docker-compose
1、Clone项目
# 创建目录并进入
mkdir /mydata
cd /mydata
git clone https://github.com/nacos-group/nacos-docker.git
2、单机模式配置 Mysql 5.7
cd /mydata/nacos-docker/example
docker-compose -f standalone-mysql-5.7.yaml up
2、单机模式配置 Mysql 8
cd /mydata/nacos-docker/example
docker-compose -f standalone-mysql-8.yaml up
3、集群模式 - 默认8848+8849+8850+mysql 5.7
cd /mydata/nacos-docker/example
docker-compose -f cluster-hostname.yaml up
Common property configuration
name | description | option |
---|---|---|
MODE | cluster模式/standalone模式 | cluster/standalone default cluster |
NACOS_SERVERS | nacos cluster地址 | eg. ip1,ip2,ip3 |
PREFER_HOST_MODE | 是否支持hostname | hostname/ip default ip |
NACOS_SERVER_PORT | nacos服务器端口 | default 8848 |
NACOS_SERVER_IP | 多网卡下的自定义nacos服务器IP | |
SPRING_DATASOURCE_PLATFORM | standalone 支持 mysql | mysql / empty default empty |
MYSQL_MASTER_SERVICE_HOST | mysql 主节点host | |
MYSQL_MASTER_SERVICE_PORT | mysql 主节点端口 | default : 3306 |
MYSQL_MASTER_SERVICE_DB_NAME | mysql 主节点数据库 | |
MYSQL_MASTER_SERVICE_USER | 数据库用户名 | |
MYSQL_MASTER_SERVICE_PASSWORD | 数据库密码 | |
MYSQL_SLAVE_SERVICE_HOST | mysql从节点host | |
MYSQL_SLAVE_SERVICE_PORT | mysql从节点端口 | default :3306 |
MYSQL_DATABASE_NUM | 数据库数量 | default :2 |
JVM_XMS | -Xms | default :2g |
JVM_XMX | -Xmx | default :2g |
JVM_XMN | -Xmn | default :1g |
JVM_MS | -XX:MetaspaceSize | default :128m |
JVM_MMS | -XX:MaxMetaspaceSize | default :320m |
NACOS_DEBUG | 开启远程调试 | y/n default :n |
TOMCAT_ACCESSLOG_ENABLE | server.tomcat.accesslog.enabled | default :false |
2、自定义方式
nacos-mysql.yaml
version: "1"
nacos:
image: nacos/nacos-server
ports:
- "8848:8848"
volumes:
- /mydata/nacos/logs:/home/nacos/logs
- /mydata/nacos/conf:/home/nacos/conf
environment:
- JVM_XMS=512m
- JVM_XMX=512m
- PREFER_HOST_MODE=ip
- MODE=standalone
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_SERVICE_HOST=mysql
- MYSQL_SERVICE_PORT=3306
- MYSQL_SERVICE_USER=root
- MYSQL_SERVICE_PASSWORD=root
- MYSQL_SERVICE_DB_NAME=nacos
network:
- gulicollege
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: 'root'
MYSQL_ALLOW_EMPTY_PASSWORD: 'no'
MYSQL_DATABASE: 'nacos'
MYSQL_USER: 'root'
MYSQL_PASSWORD: 'root'
ports:
- "3306:3306"
volumes:
- /mydata/mysql/log:/var/log/mysql
- /mydata/mysql/data:/var/lib/mysql
- /mydata/mysql/conf:/etc/mysql
networks:
- gulicollege
command: --default-authentication-plugin=mysql_native_password #解决外部无法访问
networks:
gulicollege: