Linux - Docker 安装 Nacos

拉取 Nacos 镜像

使用以下命令从 Docker Hub 拉取最新版本的 Nacos 镜像:

bash 复制代码
docker pull nacos/nacos-server

启动 Nacos 容器

使用以下命令启动 Nacos 容器:

bash 复制代码
docker run -d \
  --name nacos \
  --privileged \
  --cgroupns host \
  --env JVM_XMX=256m \
  --env MODE=standalone \
  --env JVM_XMS=256m \
  -p 8848:8848/tcp \
  -p 9848:9848/tcp \
  --restart=always \
  -w /home/nacos \
  nacos/nacos-server

启动命令解析:

  1. docker run: 这是 Docker 的基本命令,用于运行一个新的容器。
  2. -d: 这个参数告诉 Docker 以 "守护进程" 模式运行容器,即在后台运行。
  3. --name nacos: 这个参数为容器指定一个名称,这里命名为 "nacos"。在后续的操作中,可以通过这个名称来引用容器。
  4. --privileged: 这个参数给予容器额外的权限,允许它访问宿主机的设备和系统调用。在某些情况下,Nacos 可能需要这些权限来正常运行。
  5. --cgroupns host: 这个参数设置容器的 cgroup 命名空间模式为 "host",这意味着容器将使用宿主机的 cgroup 命名空间。这通常用于性能调优或特定的隔离需求。
  6. --env JVM_XMX=256m: 这个参数设置 Java 虚拟机(JVM)的最大堆内存为 256MB。JVM_XMX 是控制 Java 堆大小的环境变量。
  7. --env MODE=standalone: 这个参数设置 Nacos 运行模式为 "standalone",即单机模式。这适用于开发或测试环境。对于生产环境,可能需要设置为集群模式。
  8. --env JVM_XMS=256m: 这个参数设置 JVM 的初始堆内存为 256MB。JVM_XMS 是控制 Java 堆初始大小的环境变量。
  9. -p 8848:8848/tcp: 这个参数将容器的 8848 端口映射到宿主机的 8848 端口。Nacos 控制台默认使用此端口。
  10. -p 9848:9848/tcp: 这个参数将容器的 9848 端口映射到宿主机的 9848 端口。这个端口可能用于 Nacos 的其他服务或功能。
  11. --restart=always: 这个参数设置容器的重启策略为 "always",即无论退出状态如何,总是重启容器。这确保了 Nacos 服务的持续可用性。
  12. -w /home/nacos: 这个参数设置容器的工作目录为 "/home/nacos"。Nacos 的配置文件和日志通常存储在这个目录下。
  13. nacos/nacos-server: 这是要运行的 Docker 镜像的名称。在这个例子中,使用的是 Nacos 官方提供的镜像。

验证 Nacos 安装

在浏览器中访问 http://<服务器IP地址>:8848/nacos,你应该能看到 Nacos 控制台的登录页面。默认的用户名和密码都是 nacos

注意事项

防火墙设置:如果你的服务器有防火墙,请确保开放 8848 和 9848 端口,以便可以远程访问 Nacos 控制台。

bash 复制代码
# 添加端口规则:
sudo firewall-cmd --zone=public --add-port=8848/tcp --permanent
sudo firewall-cmd --zone=public --add-port=9848/tcp --permanent

# 重新加载防火墙规则:
sudo firewall-cmd --reload

# 验证端口是否开启:
sudo firewall-cmd --zone=public --list-ports

持久化存储 :为了防止数据丢失,建议将 Nacos 的数据目录映射到宿主机的持久化存储中。可以通过添加 -v <宿主机目录>:/home/nacos 参数实现。

集群部署 :上述步骤是在单机模式下安装 Nacos。如果需要在生产环境中部署 Nacos 集群,请参考 Nacos 官方文档 进行配置。

相关推荐
1977835461 小时前
Linux系统安全
linux
FBI HackerHarry浩1 小时前
Linux云计算训练营笔记day13[CentOS 7 find、vim、vimdiff、ping、wget、curl、RPM、YUM]]
linux·运维·笔记·centos·云计算
wqqqianqian1 小时前
国产linux系统(银河麒麟,统信uos)使用 PageOffice实现PDF文件加盖印章和签字功能
linux·pdf·签字·国产·pageoffice·盖章
小诸葛的博客1 小时前
Flannel后端为UDP模式下,分析数据包的发送方式(一)
linux·运维·服务器
一只码代码的章鱼1 小时前
操作系统 第四章 -1
linux·服务器·数据库
末央&1 小时前
【Linux】进程状态
android·linux·运维
独行soc2 小时前
2025年渗透测试面试题总结-快手[实习]安全工程师(题目+回答)
linux·安全·web安全·网络安全·面试·职场和发展·渗透测试
XY.散人2 小时前
初识Linux · NAT 内网穿透 内网打洞 代理
linux·服务器·网络
文牧之2 小时前
Oracle Enqueue Names
运维·数据库·oracle
widder_2 小时前
软考中级软件设计师——操作系统篇
运维·服务器·数据库