前提:
购买一台服务器 虚拟机也行 ,无论是哪一个内存都要足够
阿里:https://ecs-buy.aliyun.com/ecs?spm=5176.8789780.J_4267641240.2.1e7e39fbopfoRn#/custom/prepay/cn-hangzhou
腾讯 、华为。。。。我目前只使用过这三个。
下载 Xshell 顺便下载Xftp :https://www.xshell.com/zh/free-for-home-school/
网盘 这个是真的慢
链接:https://pan.baidu.com/s/1NJGWZHkByakOkQpKfkc7Yg?
提取码:r0ds
完成后打开Xshell连接服务器
需要安装jdk8+
jdk17 linux版本下载:https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz ( sha256)
下载完成后通过Xftp进行传输 ,完成后进行解压,和配置(请自行搜索)
需要安装maven
安装maven :https://maven.apache.org/download.cgi
下载完成后通过Xftp进行传输 ,完成后进行解压,和配置(请自行搜索)
第一步:拉取镜像
docker pull nacos/nacos-server
第二步: 创建日志和配置文件目录(方便后续的挂载)
mkdir -p /root/apply/docker/xiaochnecoding/nacos/logs
mkdir -p /root/apply/docker/xiaochencoding/nacos/init.d
第三步:运行nacos的数据库脚本
并修改配置文件 将对应的数据库配置好
创建mysql的docker 网络
docker network create --driver bridge --subnet 172.22.1.0/24 --gateway 172.22.1.1 my_net3
创建该网关下的mysql 让集群nacos共享mysql
docker run -itd -p 2333:3301 \
--name mysqlNacos \
--net my_net3 --ip 172.22.1.2 \ (这是mysql的ip,下面会进行创建两个服务,必须在同一网段下)
-v /home/mysql/conf/my.cnf:/etc/my.cnf \
-v /home/mysql/data:/var/lib/mysql \
--privileged=true \
--restart=always \
-e MYSQL_ROOT_PASSWORD=12345 \
-d mysql:8.0.27
docker run -d -p 3306:3306 \
--net my_net3 --ip 172.22.1.10 \
-v /home/mysql/conf:/etc/mysql/conf.d \
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/logs:/var/log/mysql \
--restart=always \
-e MYSQL_ROOT_PASSWORD=123456 \
--name mysql mysql
第四步:运行命令
docker run -it \
--name nacos02 \
-p 8848:8848 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=cluster \
-e NACOS_AUTH_ENABLE=true \
-e PREFER_HOST_MODE=hostname \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=101.37.71.29 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
--net my_net3 --ip 172.22.1.22 \
-v /root/docker/nacos/logs:/home/nacos/logs \
-v /root/docker/nacos/init.d/custom.properties:/etc/nacos/init.d/custom.properties \
-v /root/docker/nacos/data:/home/nacos/data \
nacos/nacos-server
docker run
--env PREFER_HOST_MODE=hostname
--env MODE=standalone
--env NACOS_AUTH_ENABLE=true
-p 8848:8848 nacos/nacos-server
第五步:访问nacos
http://你的IP地址:8848/nacos/index.html#/login
二:创建nacos集群
创建集群
1.创建docker 的网络 my_net3 (docker 名称)
docker network create --driver bridge --subnet 172.22.1.0/24 --gateway 172.22.1.1 my_net3
2.创建数据库 注意网络名称 my_net3
docker run -itd -p 2333:3306 \
--name mysql \
--net my_net3 --ip 172.18.1.30 \(这是mysql的ip,下面会进行创建两个服务,必须在同一网段下)
-v /home/mysql/conf/my.cnf:/etc/my.cnf \
-v /home/mysql/data:/var/lib/mysql \
--privileged=true \
--restart=always \
-e MYSQL_ROOT_PASSWORD=root123 \
-d mysql
3.创建nacos的集群
docker run -it \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.22.1.22:8848 172.22.1.23:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=101.37.71.29 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-p 9901:8848 \
--name nacos01 \
--net my_net3 --ip 172.22.1.21 \
--restart=always \
-v /root/docker/nacos/logs:/home/nacos/logs \
-v /root/docker/nacos/custom.properties:/etc/nacos/custom.properties \
-v /root/docker/nacos/data:/home/nacos/data \
nacos/nacos-server
docker run -it \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.22.1.21:8848 172.22.1.23:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=101.37.71.29 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-p 9902:8848 \
--name nacos02 \
--net my_net3 --ip 172.22.1.22 \
--restart=always \
nacos/nacos-server
docker run -it \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.22.1.21:8848 172.22.1.22:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=101.37.71.29 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-p 9903:8848 \
--name nacos03 \
--net my_net3 --ip 172.22.1.23 \
--restart=always \
nacos/nacos-server
开启鉴权
启动时会发现 nacos会提醒你开启鉴权,我尝试在挂载文件进行修改,但每次还是会报错,说无法读取到配置信息,导致无法运行,所以直接在nacos容器内部进行修改其配置文件
1.使用 docker ps 命令查看正在运行的 Nacos 容器的 ID 或名称。
2.然后使用 docker exec -it 容器ID /bin/bash 命令进入容器的命令行界面。
3.进入容器后,可以使用 cd /home/nacos/conf 命令进入 Nacos 安装目录下的 conf 目录。
4.在 conf 目录下 ls 可以查看到 Nacos 运行的配置文件,包括 application.properties。
5.打开application.properties配置文件 vim application.properties 。
6.将下列配置信息输入文末(配置文件中有的可以直接修改)
### Open the authentication system::nacos.core.auth.system.type=nacosnacos.core.auth.enabled=true### JWT令牌的密钥建议自行生成更换,注意 这个是nacos2.1.x版本之前要填写的key内容nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789### Base64编码的字符串 这个是nacos2.1.x版本之后要填写的内容nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=nacos.core.auth.server.identity.key=examplenacos.core.auth.server.identity.value=example
在浏览器输入你的服务器地址:
http://你的IP地址:8848/nacos/index.html#/login