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 官方文档 进行配置。

相关推荐
深圳安锐科技有限公司1 小时前
首次接触结构安全自动化监测系统,价格高吗?后期维护?
运维·自动化
冬天vs不冷1 小时前
Linux用户与权限管理详解
linux·运维·chrome
凯子坚持 c2 小时前
深入Linux权限体系:守护系统安全的第一道防线
linux·运维·系统安全
✿ ༺ ོIT技术༻2 小时前
C++11:新特性&右值引用&移动语义
linux·数据结构·c++
摸鱼也很难5 小时前
Docker 镜像加速和配置的分享 && 云服务器搭建beef-xss
运维·docker·容器
watermelonoops5 小时前
Deepin和Windows传文件(Xftp,WinSCP)
linux·ssh·deepin·winscp·xftp
woshilys5 小时前
sql server 查询对象的修改时间
运维·数据库·sqlserver
疯狂飙车的蜗牛6 小时前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考
linux·运维·驱动开发
恩爸编程7 小时前
探索 Nginx:Web 世界的幕后英雄
运维·nginx·nginx反向代理·nginx是什么·nginx静态资源服务器·nginx服务器·nginx解决哪些问题
鸠摩智首席音效师8 小时前
Docker 中如何限制CPU和内存的使用 ?
docker·容器