Docker快速部署mysql集群

e053b560294abca64ca92340e6599fef.png

Bitnami是一个流行的服务器应用程序和开发环境库,这个组织负责编译和配置应用程序及其所有依赖项(第三方库,语言运行时,数据库),它们可以开箱即用。bitnami封装的Docker镜像具有快速部署、简化管理、提高安全性、提高稳定性、跨平台运行和易于扩展等优势,它的镜像都基于 minideb构建。
本文主要演示基于bitnami的mysql安装和使用。
bitnami/mysql,说明文档可直接从这个地址查看:https://registry.hub.docker.com/r/bitnami/mysql

原版是英文的,我们翻译一段主要部分如下。

为什么使用Bitnami Images?
Bitnami 密切跟踪上游源更改,并使用我们的自动化系统及时发布此映像的新版本。
使用Bitnami映像,可以尽快提供最新的错误修复和功能。
Bitnami 容器、虚拟机和云映像使用相同的组件和配置方法 - 根据您的项目需求轻松切换格式。
我们所有的镜像都基于 minideb 一个极简主义的基于 Debian 的容器镜像,它为您提供了一个小型的基本容器镜像和对领先 Linux 发行版的熟悉程度。
Docker Hub 中提供的所有 Bitnami 映像都使用 Docker Content Trust (DCT) 进行签名。您可以使用 来验证映像的完整性。DOCKER_CONTENT_TRUST=1
Bitnami 容器映像会定期发布,并提供最新的分发包。
想要在生产中使用 MySQL?试用 VMware Application Catalog,这是 Bitnami Application Catalog 的企业版。


如何在 Kubernetes 中部署 MySQL?
将 Bitnami 应用程序部署为 Helm Charts 是在 Kubernetes 上开始使用我们的应用程序的最简单方法。在Bitnami MySQL Chart GitHub存储库中阅读有关安装的更多信息。


Bitnami 容器可以与 Kubeapps 一起使用,用于在集群中部署和管理 Helm 图表。

bitnami支持主从自动匹配,非常方便,这里给出一个主从配置的docker-compose文件配置,欢迎大家参考使用。

docker-compose.yml

version: '3.8'
services:
  mysql-master:
    image: bitnami/mysql
    container_name: mysql-master
    restart: always
    ports:
      - '3306:3306'
    volumes:
      # 初始化数据库,只能在master节点,不需要可以删除
      - ./init.sql:/docker-entrypoint-initdb.d/init.sql
      # node1的数据卷映射
      - ./node1:/bitnami/mysql/data
    environment:
      - BITNAMI_DEBUG=true
      # 时区
      - TZ=Asia/Shanghai
      # 默认编码集
      - MYSQL_CHARACTER_SET=utf8mb4
      - MYSQL_COLLATE=utf8mb4_general_ci
      # Root密码
      - MYSQL_ROOT_PASSWORD=123456
      # 主从复制用户
      - MYSQL_REPLICATION_USER=repl-user
      # 主从复制密码
      - MYSQL_REPLICATION_PASSWORD=123456
      # 主从复制角色
      - MYSQL_REPLICATION_MODE=master
  mysql-slave:
    image: bitnami/mysql
    container_name: mysql-slave
    restart: always
    volumes:
      - ./node2:/bitnami/mysql/data
    ports:
      - '3307:3306'
    depends_on:
      # 分开部署可以去除该项
      - mysql-master
    environment:
      - BITNAMI_DEBUG=true
      # 时区
      - TZ=Asia/Shanghai
      # 默认编码集
      - MYSQL_CHARACTER_SET=utf8mb4
      - MYSQL_COLLATE=utf8mb4_general_ci
      # ROOT用户
      - MYSQL_ROOT_USER=root
      # Root密码
      - MYSQL_ROOT_PASSWORD=123456
      # 主从复制用户
      - MYSQL_REPLICATION_USER=repl-user
      # 主从复制密码
      - MYSQL_REPLICATION_PASSWORD=123456
      # 主从复制角色
      - MYSQL_REPLICATION_MODE=slave
      # 主节点IP地址
      - MYSQL_MASTER_HOST=192.168.0.135
      # 主节点IP端口
      - MYSQL_MASTER_PORT_NUMBER=3306
      # 主节点ROOT用户
      - MYSQL_MASTER_ROOT_USER=root
      # 主节点ROOT密码
      - MYSQL_MASTER_ROOT_PASSWORD=123456

db21b636be918d26fbc30eb7e2c3c8b3.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值