docker启动nacos(单机模式、集群模式)

1.拉取nacos镜像

docker pull nacos/nacos-server:v2.1.2

2.将nacos容器中的文件拷贝到主机上,以便挂载

2.1.先以单机模式运行nacos

docker run -d --name nacos -p 8848:8848 -e MODE=standalone nacos/nacos-server:v2.1.2
查看运行过程:docker logs -f nacos

ps:如果启动失败可能是服务器内存过小,如果要限制nacos 占用的内存大小,使用以下语句

docker run --name nacos -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone -p 8848:8848 -d nacos/nacos-server:v2.1.2
安装后也可以修改容器的内存大小 :
docker stop nacos
docker update -m 256M --memory-swap 512M nacos-quick
docker start nacos

2.2.将nacos文件拷贝到主机上的/app目录下

docker cp nacos:/home/nacos /usr/local
ps:nacos在docker中的默认存放位置为/home/nacos

2.3.删除nacos容器

docker rm -f nacos

3.创建nacos数据库

找到/usr/local/nacos/config下的mysql-schema.sql文件,复制里面的内容在mysql中运行,然后会自动生成数据表
docker启动nacos(单机模式、集群模式)_第1张图片

4.运行nacos

4.1.以单机模式运行nacos,并使用mysql存储信息

docker run -d --name nacos \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
–restart always \
-v /usr/local/nacos/logs:/home/nacos/logs \
-v /usr/local/nacos/data:/home/nacos/data \
-v /usr/local/nacos/config:/home/nacos/config \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=数据库所在ip \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=数据库密码 \
nacos/nacos-server:v2.1.2

查看运行过程:docker logs -f nacos
docker启动nacos(单机模式、集群模式)_第2张图片

4.2.以集群模式运行nacos,并使用mysql存储信息

nacos1

docker run -d --name nacos-cluster \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \(9848、9849为nacos2.X新增端口,不加的话SpringBoot服务会注册失败)
–net host \(从桥接模式改成主机模式,用主机的ip地址,不然注册服务可能会出错)
–restart always \(前面为两个短杠,记得修改)
-v /usr/local/nacos/logs:/home/nacos/logs \
-v /usr/local/nacos/data:/home/nacos/data \
-v /usr/local/nacos/config:/home/nacos/config \
-e MODE=cluster \
-e NACOS_SERVERS=192.168.137.133:8848 \(此处为指向其他集群服务的ip地址,如果有多个ip则用单引号括起来)
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.137.134 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=数据库密码 \
-e TZ=Asia/Shanghai \(不加时间注册服务时可能会报错)
nacos/nacos-server:v2.1.2

nacos2

docker run -d --name nacos-cluster \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \(9848、9849为nacos2.X新增端口,不加的话SpringBoot服务会注册失败)
–net host \(从桥接模式改成主机模式,用主机的ip地址,不然注册服务可能会出错)
–restart always \(前面为两个短杠,记得修改)
-v /usr/local/nacos/logs:/home/nacos/logs \
-v /usr/local/nacos/data:/home/nacos/data \
-v /usr/local/nacos/config:/home/nacos/config \
-e MODE=cluster \
-e NACOS_SERVERS=192.168.137.134:8848 \(此处为指向其他集群服务的ip地址,如果有多个ip则用单引号括起来)
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.137.134 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=数据库密码 \
-e TZ=Asia/Shanghai \(不加时间注册服务时可能会报错)
nacos/nacos-server:v2.1.2

后续有待补充。。。

你可能感兴趣的:(java,docker,spring,cloud)