您的位置:

Nacos Docker 部署指南

一、Docker 简介

Docker 是一个开源的应用容器引擎,可以帮助开发者将应用程序打包成一个可移植的容器并进行部署。Docker 容器隔离了应用程序及其依赖,提供了一致的运行环境,使得应用程序可以轻松地在不同的环境中运行。

二、Nacos 介绍

Nacos 是一个开源的服务发现、配置管理和动态 DNS 服务,提供了一些核心功能,如服务发现、服务健康监测、动态路由、配置管理等。

三、Nacos Docker 部署

1. 下载官方 Docker 镜像

在 Docker 中部署 Nacos 最简单的方式就是使用官方的 Docker 镜像,可以通过以下命令下载 Nacos 镜像:

docker pull nacos/nacos-server

2. 启动 Nacos Docker 容器

启动 Nacos Docker 容器需要通过以下命令:

docker run --name nacos -e MODE=standalone -p 8848:8848 nacos/nacos-server

上述命令启动一台名为 nacos 的 Docker 容器,使用 standalone 模式运行 Nacos,将 Nacos Server 网络端口 8848 映射到本地端口 8848。

3. 访问 Nacos 控制台

通过上一步启动 Nacos Docker 容器后,就可以在浏览器中访问 Nacos 控制台,访问地址:http://localhost:8848/nacos/

4. 配置 Docker Compose 文件

如果需要部署多个 Nacos 实例或者需要持久化存储配置,可以使用 Docker Compose 文件。

以下是一个简单的 Nacos Docker Compose 配置实例:

version: '3'
services:
  nacos-1:
    image: nacos/nacos-server:latest
    container_name: nacos-1
    environment:
      - MODE=cluster
      - SPRING_DATASOURCE_PLATFORM=mysql
      - SPRING_DATASOURCE_DRIVER_CLASS_NAME=com.mysql.jdbc.Driver
      - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false
      - SPRING_DATASOURCE_USERNAME=root
      - SPRING_DATASOURCE_PASSWORD=root
    ports:
      - "8848:8848"
    depends_on:
      - mysql
    restart: always

  nacos-2:
    image: nacos/nacos-server:latest
    container_name: nacos-2
    environment:
      - MODE=cluster
      - SPRING_DATASOURCE_PLATFORM=mysql
      - SPRING_DATASOURCE_DRIVER_CLASS_NAME=com.mysql.jdbc.Driver
      - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false
      - SPRING_DATASOURCE_USERNAME=root
      - SPRING_DATASOURCE_PASSWORD=root
    ports:
      - "8849:8848"
    depends_on:
      - mysql
    restart: always

  mysql:
    image: mysql:5.7
    container_name: mysql
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=nacos_config
    ports:
      - "3306:3306"
    volumes:
      - ./data:/var/lib/mysql
    restart: always

networks:
  default:
    external:
      name: $DOCKER_NETWORK

其中,配置文件中包含了 2 个 Nacos 实例和 一个 MySQL 镜像。也可以通过修改配置文件和环境变量来增加或减少 Nacos 实例数量。

四、总结

本文介绍了如何通过 Docker 在本地部署 Nacos,以及如何通过 Docker Compose 编排多个 Nacos 实例。Nacos Docker 部署能够提供多种搭建方式,可以根据实际需求选择不同的部署方式。