1、简介
1.1、Nacos 简介
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
2、准备工作
2.1、创建 自定义网络
# 创建自定义网络
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
# 查看已存在网络
docker network ls
#其他网络容器可以通过此命令 可以使此容器和此网络互通
#数据库我放到docker0中了,需要连接一下
docker network connect mynet mysql8.0
自定义网络内的容器是互通的,并且可以通过容器名称访问
2.4、数据库配置
2.4.1、创建数据库
2.4.2、创建用户
用户:nacos,密码:nacos
注意:nacos 用户权限问题
2.4.3、下载SQL文件
# 下载数据库文件
https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql
2.5、创建数据和配置存放目录
# 创建 nacos 配置存放目录
mkdir -p /home/docker/nacos/conf && chown -R 200 /home/docker/nacos/conf
# 创建 nacos 日志存放目录
mkdir -p /home/docker/nacos/logs && chown -R 200 /home/docker/nacos/logs
# 创建 nacos 数据存放目录
mkdir -p /home/docker/nacos/data && chown -R 200 /home/docker/nacos/data
3、安装 Nacos
3.1、运行 Nacos
#下载nacos镜像
docker pull nacos/nacos-server
#单机nacos
docker run -d -p 8848:8848 -e JVM_XMS=64m -e JVM_XMX=64m -e JVM_XMN=16m \
--name nacos \
--net mynet \
--env MODE=standalone \
--env SPRING_DATASOURCE_PLATFORM=mysql \
--env MYSQL_SERVICE_HOST=mysql8.0 \
--env MYSQL_SERVICE_PORT=3306 \
--env MYSQL_SERVICE_DB_NAME=nacos \
--env MYSQL_SERVICE_USER=root \
--env MYSQL_SERVICE_PASSWORD=12345678 \
nacos/nacos-server
3.2、复制相关文件
# 把容器中的 nacos 文件复制出来
docker cp -a nacos:/home/nacos /home/docker/
# 删除 nacos 容器
docker rm -f nacos
3.3、自定义启动 Nacos
#单机nacos
docker run -d -p 8848:8848 -e JVM_XMS=64m -e JVM_XMX=64m -e JVM_XMN=16m \
--name nacos \
--net mynet \
--env MODE=standalone \
--env SPRING_DATASOURCE_PLATFORM=mysql \
--env MYSQL_SERVICE_HOST=mysql8.0 \
--env MYSQL_SERVICE_PORT=3306 \
--env MYSQL_SERVICE_DB_NAME=nacos \
--env MYSQL_SERVICE_USER=root \
--env MYSQL_SERVICE_PASSWORD=12345678 \
-v /home/docker/nacos/conf:/home/nacos/conf \
-v /home/docker/nacos/logs:/home/nacos/logs \
-v /home/docker/nacos/data:/home/nacos/data \
nacos/nacos-server
自定义启动 Nacos 参数介绍,不要用这个
# 指定 nacos 对外映射端口,例如:8000:8848
docker run -d -p 8848:8848 \
# docker 容器名称
--name nacos \
# 自定义分配网络,可忽略
--network mynet \
# 自定义分配 IP 地址,可忽略,因为网络内可以通过容器名称访问
--ip 172.0.0.28 \
# nacos 单机实例
--env MODE=standalone \
# nacos 数据源 MySQL
--env SPRING_DATASOURCE_PLATFORM=mysql \
# MySQL 主机地址,记得改成自己数据库地址 因为网络内可以通过容器名称访问
--env MYSQL_SERVICE_HOST=mysql8.0 \
# MySQL 端口号
--env MYSQL_SERVICE_PORT=3306 \
# MySQL 数据库名称,记得在对应的数据库执行从 github 下载的 SQL 文件
--env MYSQL_SERVICE_DB_NAME=nacos \
# MySQL 用户名称,例如:root
--env MYSQL_SERVICE_USER=nacos \
# MySQL 服务密码,例如:123456
--env MYSQL_SERVICE_PASSWORD=nacos \
# docker 文件映射,把 nacos 容器中文件和本地路径映射起来,方便操作和持久化
# nacos 配置文件目录
-v /home/docker/nacos/conf:/home/nacos/conf \
# nacos 日志文件目录
-v /home/docker/nacos/logs:/home/nacos/logs \
# nacos 数据文件目录
-v /home/docker/nacos/data:/home/nacos/data \
# 指定 docker nacos 版本,示例:nacos/nacos-server:v2.0.4
nacos/nacos-server:latest
3.4、删除 Nacos
# 删除 nacos 容器
docker rm -f nacos
4、相关页面
4.1、登录界面
Nacos 控制台,默认用户名:nacos,默认密码:nacos ,点击登录
4.2、首页
区别:mysql连接用的不是ip,而是容器名