首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >nacos 持久化 docker 部署

nacos 持久化 docker 部署

原创
作者头像
用户2323866
修改2021-06-25 10:14:23
修改2021-06-25 10:14:23
1.5K0
举报
文章被收录于专栏:技术派技术派

简介

微服务需要部署 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
  • 运行容器
  • 注意
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档