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、创建数据库

为啥docker配置了镜像下载还是很慢_mysql

2.4.2、创建用户

用户:nacos,密码:nacos

注意:nacos 用户权限问题

为啥docker配置了镜像下载还是很慢_为啥docker配置了镜像下载还是很慢_02

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 ,点击登录

为啥docker配置了镜像下载还是很慢_自定义_03

4.2、首页

为啥docker配置了镜像下载还是很慢_mysql_04

区别:mysql连接用的不是ip,而是容器名