1.1、Nacos 简介
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
2.1、安装 Docker
2.2、安装 MySQL8
从 Nacos 1.3.1 版本开始,数据库存储已经升级到8.0,并且它向下兼容
Docker 安装 MySQL 8
2.3、创建 bridge 网络并指定 IP 区间
# 创建自定义网络
docker network create --driver bridge --subnet 172.0.0.0/16 woniu_network
# 查看已存在网络
docker network ls
2.4、数据库配置
2.4.1、创建数据库
2.4.2、创建用户
用户:nacos,密码:nacos
注意:nacos 用户权限问题
2.4.3、下载SQL文件
下载数据库文件
#进入容器
docker exec -it nacos /bin/bash
#修改 conf/application.properties 内容如下:
vim conf/application.properties
# spring
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
server.tomcat.basedir=
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://<ip>:<port>/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=password
#退出容器
exit
#重启容器
docker restart nacos
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
2.6、查询 Docker Nacos 版本
通过 Docker Hub 查询 Nacos 版本,选择最后版本,如下图:
3.1、运行 Nacos
docker run -d -p 8848:8848 \
--name nacos \
--network woniu_network \
--ip 172.0.0.28 \
--env MODE=standalone \
--env SPRING_DATASOURCE_PLATFORM=mysql \
--env MYSQL_SERVICE_HOST=172.0.0.5 \
--env MYSQL_SERVICE_PORT=3306 \
--env MYSQL_SERVICE_DB_NAME=nacos \
--env MYSQL_SERVICE_USER=nacos \
--env MYSQL_SERVICE_PASSWORD=nacos \
nacos/nacos-server:latest
3.2、复制相关文件
# 把容器中的 nacos 文件复制出来
docker cp -a nacos:/home/nacos /home/docker/
# 删除 nacos 容器
docker rm -f nacos
3.3、自定义启动 Nacos
docker run -d -p 8848:8848 \
--name nacos \
#--network woniu_network \
#--ip 172.0.0.28 \
--env MODE=standalone \
--env SPRING_DATASOURCE_PLATFORM=mysql \
--env MYSQL_SERVICE_HOST=172.0.0.5 \
--env MYSQL_SERVICE_PORT=3306 \
--env MYSQL_SERVICE_DB_NAME=nacos \
--env MYSQL_SERVICE_USER=nacos \
--env MYSQL_SERVICE_PASSWORD=nacos \
-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:latest
自定义启动 Nacos 参数介绍,不要用这个
# 指定 nacos 对外映射端口,例如:8000:8848
docker run -d -p 8848:8848 \
# docker 容器名称
--name nacos \
# 自定义分配网络,可忽略
--network woniu_network \
# 自定义分配 IP 地址,可忽略
--ip 172.0.0.28 \
# nacos 单机实例
--env MODE=standalone \
# nacos 数据源 MySQL
--env SPRING_DATASOURCE_PLATFORM=mysql \
# MySQL 主机地址,记得改成自己数据库地址
--env MYSQL_SERVICE_HOST=172.0.0.5 \
# 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