docker-compose安装Nacos集群(保姆级教学)
compose
compose - Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,通过Compose文件格式简化应用部署过程。
项目地址:https://gitcode.com/gh_mirrors/compose/compose
免费下载资源
·
一、前置
1、Linux已安装docker
Linux安装docker教程http://t.csdn.cn/ujzoA
2、Nacos持久化数据库
docker安装mysql教程http://t.csdn.cn/AnWZ1
3、安装docker-compose环境
二、准备工作
1、创建目录
mkdir -p /home/nacos
2、编写配置文件
# 编写nginx.conf实现负载均衡
# 进入nacos目录
cd /home/nacos
# 创建nginx配置文件
touch nginx.conf
# 编写nginx.conf内容
vi nginx.conf
# nginx.conf内容
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 4096;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
keepalive_timeout 65;
# include /etc/nginx/conf.d/*.conf;
# 添加负载均衡配置,替换自己的IP 或填写nacos容器名
upstream nacos {
server 127.0.0.1:8846 weight=1 max_fails=2 fail_timeout=10s;
server 127.0.0.1:8847 weight=1 max_fails=2 fail_timeout=10s;
server 127.0.0.1:8848 weight=1 max_fails=2 fail_timeout=10s;
}
server {
listen 80;
listen [::]:80;
# 修改为宿主机的 IP地址
server_name 127.0.0.1;
# To allow special characters in headers
ignore_invalid_headers off;
# Allow any size file to be uploaded.
# Set to a value such as 1000m; to restrict file size to a specific value
client_max_body_size 0;
# To disable buffering
proxy_buffering off;
proxy_request_buffering off;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 300;
# Default is HTTP/1, keepalive is only enabled in HTTP/1.1
proxy_http_version 1.1;
proxy_set_header Connection "";
chunked_transfer_encoding off;
# 添加代理配置
proxy_pass http://nacos;
}
}
}
# 编写docker-compose.yml 创建Nacos集群
# 切换到nacos目录
cd /home/nacos
# 创建相关映射目录
#映射nacos配置
mkdir init.d
#映射日志文件
mkdir /cluster-logs/nacos1
mkdir /cluster-logs/nacos2
mkdir /cluster-logs/nacos2
# 创建docker-compose.yaml文件
touch docker-compose.yaml
# 编写docker-compose.yaml
vi docker-compose.yaml
version: "3"
services:
nacos1:
container_name: nacos-server01
hostname: nacos-server01
image: nacos/nacos-server:2.0.3
environment:
- MODE=cluster
- PREFER_HOST_MODE=hostname
- NACOS_SERVERS=nacos-server01:8848 nacos-server02:8848 nacos-server03:8848
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_SERVICE_HOST=127.0.0.1
- MYSQL_SERVICE_PORT=3306
- MYSQL_SERVICE_USER=root
- MYSQL_SERVICE_PASSWORD=123456
- MYSQL_SERVICE_DB_NAME=nacos_config
- JVM_XMS=128m
- JVM_XMX=128m
- JVM_XMN=128m
volumes:
- ./cluster-logs/nacos1:/home/nacos/logs
- ./init.d/custom.properties:/home/nacos/init.d/custom.properties
ports:
- 8846:8848
- 9848:9848
- 9555:9555
nacos2:
container_name: nacos-server02
hostname: nacos-server02
image: nacos/nacos-server:2.0.3
environment:
- MODE=cluster
- PREFER_HOST_MODE=hostname
- NACOS_SERVERS=nacos-server01:8848 nacos-server02:8848 nacos-server03:8848
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_SERVICE_HOST=127.0.0.1
- MYSQL_SERVICE_PORT=3306
- MYSQL_SERVICE_USER=root
- MYSQL_SERVICE_PASSWORD=123456
- MYSQL_SERVICE_DB_NAME=nacos_config
- JVM_XMS=128m
- JVM_XMX=128m
- JVM_XMN=128m
volumes:
- ./cluster-logs/nacos2:/home/nacos/logs
- ./init.d/custom.properties:/home/nacos/init.d/custom.properties
ports:
- 8847:8848
- 9849:9848
nacos3:
container_name: nacos-server03
hostname: nacos-server03
image: nacos/nacos-server:2.0.3
environment:
- MODE=cluster
- PREFER_HOST_MODE=hostname
- NACOS_SERVERS=nacos-server01:8848 nacos-server02:8848 nacos-server03:8848
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_SERVICE_HOST=127.0.0.1
- MYSQL_SERVICE_PORT=3306
- MYSQL_SERVICE_USER=root
- MYSQL_SERVICE_PASSWORD=123456
- MYSQL_SERVICE_DB_NAME=nacos_config
- JVM_XMS=128m
- JVM_XMX=128m
- JVM_XMN=128m
volumes:
- ./cluster-logs/nacos3:/home/nacos/logs
- ./init.d/custom.properties:/home/nacos/init.d/custom.properties
ports:
- 8848:8848
- 9850:9848
nacos-nginx:
container_name: nacos-nginx
image: nginx:1.21.1
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
ports:
- 8845:80
3、编排docker-compose
# 根据docker-compose.yml 创建nacos集群
docker-compose up -d
#显示编排容器
docker-compose ps
三、验证
输入地址:http://{ip地址}:8845/nacos
GitHub 加速计划 / compose / compose
33.26 K
5.15 K
下载
compose - Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,通过Compose文件格式简化应用部署过程。
最近提交(Master分支:1 个月前 )
73d3a25e
Signed-off-by: Suleiman Dibirov <idsulik@gmail.com>
3 天前
3524bcfa
Signed-off-by: Suleiman Dibirov <idsulik@gmail.com>
3 天前
更多推荐
已为社区贡献1条内容
所有评论(0)