1,docker-compose.yml
version: '3.8'
services:
nacos_nginx:
image: 'nginx'
container_name: nacos_nginx
networks:
- nacos_mynet
volumes:
- ../../volumes/nacos-nginx/nginx:/etc/nginx
ports:
- "80:80"
restart: on-failure
nacos_mysql:
image: 'mysql:5.7'
container_name: nacos_mysql
restart: on-failure
networks:
- nacos_mynet
volumes:
- ../../dockerVolumes/nacos-cluster-mysql/conf:/etc/mysql/conf.d
- ../../dockerVolumes/nacos-cluster-mysql/data:/var/lib/mysql
- ../../dockerVolumes/nacos-cluster-mysql/logs:/var/log/mysql
environment:
MYSQL_ROOT_PASSWORD: you mysql password
nacos-server01:
image: 'nacos/nacos-server'
container_name: nacos01
env_file: ./nacos.env
ports:
- "9000:8848"
networks:
- nacos_mynet
volumes:
- ../../dockerVolume/nacos-cluster-logs/nacos01:/home/nacos/logs
- ../../dockerVolume/nacos-cluster-conf/custom.properties:/home/nacos/init.d/custom.properties
nacos-server02:
image: 'nacos/nacos-server'
container_name: nacos02
env_file: ./nacos.env
ports:
- "9001:8848"
networks:
- nacos_mynet
volumes:
- ../../dockerVolume/nacos-cluster-logs/nacos01:/home/nacos/logs
- ../../dockerVolume/nacos-cluster-conf/custom.properties:/home/nacos/init.d/custom.properties
nacos-server03:
image: 'nacos/nacos-server'
container_name: nacos03
env_file: ./nacos.env
ports:
- "9002:8848"
networks:
- nacos_mynet
volumes:
- ../../dockerVolume/nacos-cluster-logs/nacos01:/home/nacos/logs
- ../../dockerVolume/nacos-cluster-conf/custom.properties:/home/nacos/init.d/custom.properties
networks:
nacos_mynet:
driver: bridge
2,nacos.env
MODE: cluster
JVM_XMS: 128m
JVM_XMX: 128m
JVM_XMN: 16m
SPRING_DATASOURCE_PLATFORM: mysql
NACOS_SERVICES: nacos01:8848,nacos02:8848,nacos03:8848
MYSQL_SERVICE_HOST: nacos_mysql
MYSQL_SERVICE_PORT: 3306
MYSQL_SERVICE_DB_NAME: nacos_config
MYSQL_SERVICE_USER: root
MYSQL_SERVICE_PASSWORD: you mysql password
3,nginx配置
nginx.conf
upstream cluster{
server nacos01:8848;
server nacos02:8848;
server nacos03:8848;
}
default.conf
location / {
#root /usr/share/nginx/html;
#index index.html index.htm;
proxy_pass http://cluster;
}
3,使用
1,所有的卷替换成自己的。
2,mysql密码替换成自己的。
3,mysql中需要先有nacos_config数据库,可以先建好数据库,然后把卷挂载到mysql上。
4,jvm参数可以自己调,我自己的服务器就2g,所以只能调这么小,不然会挂掉其中一个,差不多要使用1.8g内存。