前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nacos 持久化 docker 部署

nacos 持久化 docker 部署

原创
作者头像
子润先生
修改2021-06-11 14:21:22
1.2K0
修改2021-06-11 14:21:22
举报
文章被收录于专栏:用户8644135的专栏

简介

微服务需要部署 nacos, 但是用 docker 进行部署,容器删除之后配置就全部丢失。所以需要配置外部数据库,使得 nacos 数据持久化。

文件目录

代码语言:javascript
复制
|—— docker-compose.yml
|—— nacos |—— init.d |—— custom.properties
|—— mysql |—— init.sql

准备 docker-compose 配置

代码语言:javascript
复制
version: '3'
services:

  nacos:
    image: nacos/nacos-server:1.2.1
    environment:
      - MODE=standalone
      - TZ=Asia/Shanghai
      - LANG=en_US.UTF-8
      - SPRING_DATASOURCE_PLATFORM=mysql
      - MYSQL_SERVICE_HOST=mysql
      - MYSQL_SERVICE_DB_NAME=nacos-config
      - MYSQL_SERVICE_PORT=3306
      - MYSQL_SERVICE_USER=root
      - MYSQL_SERVICE_PASSWORD=pass
    volumes:
      - ./nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties
    networks:
      - default
    ports:
      - 8848:8848
      
   mysql:
    image: mysql:5.7.24
    command: --max_allowed_packet=32505856
    volumes:
      - ./mysql/my.cnf:/root/mysql/my.cnf mysql
      - ./mysql/init.sql:/docker-entrypoint-initdb.d/init.sql
    environment:
      - MYSQL_ROOT_PASSWORD=123456
    ports:
      - 3306
    networks:
      - default
     
    networks:
      default

init.sql 数据库初始脚本

https://raw.githubusercontent.com/alibaba/nacos/master/distribution/conf/nacos-mysql.sql

custom.properties

代码语言:javascript
复制
management.endpoints.web.exposure.include=*

my.cnf

代码语言:javascript
复制
[mysql]default-character-set=utf8
[mysqld]character-set-server=utf8

运行容器

执行 compose up -d 即可

注意

需要注意,之前调试多次无法连接内网容器的 mysql 数据库,后来改了 mysql 版本之后终于连接成功。一般情况下,不建议使用 mysql 的 docker 容器。建议把 mysql 移到外部,有利于数据的持久化。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 文件目录
  • 准备 docker-compose 配置
  • init.sql 数据库初始脚本
  • custom.properties
  • my.cnf
  • 运行容器
  • 注意
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档