Docker部署 Nacos

1.1、Nacos 简介

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

2.1、安装 Docker

CentOS7 安装 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文件

下载数据库文件

nacos-db.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://:/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

4.1、登录界面

Nacos 控制台,默认用户名:nacos,默认密码:nacos ,点击登录

4.2、首页

你可能感兴趣的:(#,Docker教程,docker,java,容器,nacos)