Docker快速部署MySQL集群

云计算 MySQL
Bitnami是一个流行的服务器应用程序和开发环境库,这个组织负责编译和配置应用程序及其所有依赖项(第三方库,语言运行时,数据库),它们可以开箱即用。
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


责任编辑:华轩 来源: 微技术之家
相关推荐

2024-09-13 15:32:18

2014-12-26 10:06:48

Docker容器代码部署

2017-03-31 14:25:19

手动docker swar集群

2017-03-22 10:06:40

ubuntuceph集群

2020-10-30 10:49:37

DockerGPULinux

2017-05-04 09:01:45

达观数据Docker部署

2021-08-10 07:27:42

Elasticsear集群开源

2023-01-10 08:37:45

Docker开发架构

2024-01-04 07:39:53

LinuxCentOS 8Docker

2024-03-26 00:00:01

2015-08-03 16:15:53

Docker部署集群

2014-09-12 14:50:07

运维Docker

2023-09-11 09:35:20

Docker程序

2015-05-27 10:29:41

DockerHadoopHadoop集群

2023-04-06 07:18:14

2023-09-26 07:34:24

Docker部署依赖包

2024-01-10 14:24:32

Docker容器Kafka

2023-11-27 00:18:38

2023-05-14 23:30:38

PrestoHadoop函数

2023-05-29 07:39:49

点赞
收藏

51CTO技术栈公众号