Docker快速部署MySQL集群

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 图表。1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.

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=1234561.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.

THE END
本站服务器由亿华云赞助提供-企业级高防云服务器