1、先安装mysql
2、创建网桥
之前使用pipework 分配静态ip是暂时的,重启之后就会失效,并且使用pipework绑定的ip 物理机,虚拟机,docker容器的ip都在同一网段,这在生产环境是很困难的,下面使用docker自带的network实现固定ip分配,并且重启不会消失。(Docker每次重启,容器重启之后ip会变,用网段指定启动ip)
# 创建自定义网络(名字应该改成nacos_network↓)
docker network create --subnet=172.0.0.0/16 mysql_network
# 查看已存在网络
docker network ls
# 网桥删除:docker network rm mysql_network
数据库配置
2.4.1、创建数据库
2.4.2、创建用户(不创建也可以,后面用root用户连接即可)
用户:nacos,密码:nacos
执行SQL文件内容:nacos/nacos-mysql.sql at master · alibaba/nacos · GitHub
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
3、安装 Nacos
3.1、运行 Nacos
docker run -d -p 8848:8848 \
--name nacos \
--network mysql_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:v2.1.0
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 mysql_network \
--restart=always \
--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:v2.1.0
========================自定义启动 Nacos 参数介绍=============================
~~~~~~~~~~~~~自定义启动 Nacos 参数介绍~~~~~~~~~~~
# 指定 nacos 对外映射端口,例如:8000:8848
docker run -d -p 8848:8848 \
# docker 容器名称
--name nacos \
# 自定义分配网络,可忽略
--network woniu_network \
# 开机启动
--restart=always \
# 自定义分配 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
# 查看nacos日志
docker logs nacos
访问nacos控制台页面:服务器ip:nacos端口号/nacos