1、启动docker需要运行语句及里面的坑
--1.首先拉取nacos
docker pull nacos/nacos-server
--2.然后创建挂载目录
mkdir -p /mydata/nacos/logs/
mkdir -p /mydata/nacos/conf/
--3.启动容器
docker run -p 8848:8848 --name nacos -d nacos/nacos-server
--4.复制文件
docker cp nacos:/home/nacos/logs/ /mydata/nacos/logs/
docker cp nacos:/home/nacos/conf/ /mydata/nacos/conf/
--5.关闭容器
docker rm -f nacos
--6.正式运行nacos的命令
docker run -d
--name nacos
-p 8848:8848 -p 9848:9848 -p 9849:9849
--privileged=true
-e JVM_XMS=256m
-e JVM_XMX=256m
-e MODE=standalone
-v /mydata/nacos/logs/:/home/nacos/logs
-v /mydata/nacos/conf/:/home/nacos/conf/
--restart=always
nacos/nacos-server
-- 一行的版本
docker run -d --name nacos -p 8848:8848 -p 9848:9848 -p 9849:9849 --privileged=true -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone -v /mydata/nacos/logs/:/home/nacos/logs -v /mydata/nacos/conf/:/home/nacos/conf/ --restart=always nacos/nacos-server
ps:
–name :指定nacos的名称,默认即可。
-p : 端口映射,p一定要小写,大写P是随机端口映射。
-e MODE=standalone :指的是单机模式。
-v :标识将容器的目录挂载到本地的目录。
坑:
1、在第四步复制文件的时候,很容易出现conf目录里面还有conf目录的BUG,解决办法就是把语句改成:
--复制文件
docker cp nacos:/home/nacos/logs/ /mydata/nacos/
docker cp nacos:/home/nacos/conf/ /mydata/nacos/
2、一定要添加映射9848、9849,这两个是NACOS2.0版本以后添加的端口,不加的话本地的项目会报错。如果有防火墙要允许访问这三个端口,也可以直接关闭防火墙。
## 开放端口8848 9848 9849
firewall-cmd --zone=public --add-port=8848/tcp --permanent
firewall-cmd --zone=public --add-port=9848/tcp --permanent
firewall-cmd --zone=public --add-port=9849/tcp --permanent
## 重启防火墙
firewall-cmd --reload
## 查看所有开启的端口
firewall-cmd --zone=public --list-ports
2、springboot2.4x 本地项目遇到的问题
1、使用springcloudalibaba需要使用bootstrap文件配置nacos配置中心信息,一定要在pom.xml添加以下依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2、spring.cloud.nacos.config.server-addr和spring.cloud.nacos.discovery.server-addr 一定要区分开了,有时候追求快速搭建的时候很容易只配了其中一个,启动项目会报错。
3、nacos上的配置文件后缀是yaml的时候一定要配置后缀:
spring.cloud.nacos.file-extension=yaml