09-1.部署Nacos
微服务环境必备Nacos,无论是本地测试环境,还是生产环境,使用Docker部署都是非常方便的,可以极大程度的避免环境污染,以及可以快速的卸载和配置
另外,使用Docker容器化部署并不会像虚拟机浪费很多资源。故在环境部署时,优先选用Docker部署。
一、通过docker-compose部署Nacos2.2.2单机版
1. 创建Docker网络
docker network create [dev_net] #[括号内网络名称]
git clone https://github.com/nacos-group/nacos-docker.git
2. 部署Mysql
services:
mysql:
#mysql服务节点
image: mysql:5.7 #mysql镜像,如果镜像容器没有会去自动拉取
container_name: mysql #容器的名称
networks:
- dev_net
deploy:
resources:
limits:
memory: 1G
command:
#构建容器后所执行的命令
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --lower-case-table-names=1 #忽略数据表明大小写
restart: no #跟随docker的启动而启动
environment:
MYSQL_ROOT_PASSWORD: root #设置root帐号密码
ports:
- 3306:3306
volumes:
- ./mysql/data:/var/lib/mysql #数据文件挂载
- ./mysql/conf.d:/etc/mysql/conf.d #配置文件挂载
- ./mysql/log:/var/log/mysql #日志文件挂载
networks:
dev_net:
external: true
3. 部署Nacos
services:
nacos:
image: nacos/nacos-server:v2.2.2
container_name: nacos
networks:
- dev_net
restart: no
ports:
- 8848:8848
- 9848:9848
- 9849:9849
environment:
TZ: Asia/Shanghai
MODE: standalone
SPRING_DATASOURCE_PLATFORM: mysql
#加入同一个网络后可以直接使用容器name来通信
MYSQL_SERVICE_HOST: mysql
#直接连接容器端口,不是映射到宿主机的端口
MYSQL_SERVICE_PORT: 3306
MYSQL_SERVICE_USER: root
MYSQL_SERVICE_PASSWORD: root
MYSQL_SERVICE_DB_NAME: nacos
MYSQL_SERVICE_DB_PARAM: characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
volumes:
- ./logs/:/home/nacos/logs
networks:
dev_net:
external: true
nacos2.2.2版本需要开启权限认证,修改init.d文件夹下的application.properties 的 nacos.core.auth.enabled,将false改成true即可
4. 执行docker-compose
将上面两个yaml文件放到两个目录下分别执行一下命令
docker-compose up -d
贴一下文件夹路径
作者:何贤刚 创建时间:2024-03-11 20:37
最后编辑:何贤刚 更新时间:2024-05-12 22:20
最后编辑:何贤刚 更新时间:2024-05-12 22:20