Docker快速部署MySQL集群
作者:微技術(shù)
Bitnami是一個(gè)流行的服務(wù)器應(yīng)用程序和開發(fā)環(huán)境庫,這個(gè)組織負(fù)責(zé)編譯和配置應(yīng)用程序及其所有依賴項(xiàng)(第三方庫,語言運(yùn)行時(shí),數(shù)據(jù)庫),它們可以開箱即用。
原版是英文的,我們翻譯一段主要部分如下。
為什么使用Bitnami Images?
Bitnami 密切跟蹤上游源更改,并使用我們的自動化系統(tǒng)及時(shí)發(fā)布此映像的新版本。
使用Bitnami映像,可以盡快提供最新的錯(cuò)誤修復(fù)和功能。
Bitnami 容器、虛擬機(jī)和云映像使用相同的組件和配置方法 - 根據(jù)您的項(xiàng)目需求輕松切換格式。
我們所有的鏡像都基于 minideb 一個(gè)極簡主義的基于 Debian 的容器鏡像,它為您提供了一個(gè)小型的基本容器鏡像和對領(lǐng)先 Linux 發(fā)行版的熟悉程度。
Docker Hub 中提供的所有 Bitnami 映像都使用 Docker Content Trust (DCT) 進(jìn)行簽名。您可以使用 來驗(yàn)證映像的完整性。DOCKER_CONTENT_TRUST=1
Bitnami 容器映像會定期發(fā)布,并提供最新的分發(fā)包。
想要在生產(chǎn)中使用 MySQL?試用 VMware Application Catalog,這是 Bitnami Application Catalog 的企業(yè)版。
如何在 Kubernetes 中部署 MySQL?
將 Bitnami 應(yīng)用程序部署為 Helm Charts 是在 Kubernetes 上開始使用我們的應(yīng)用程序的最簡單方法。在Bitnami MySQL Chart GitHub存儲庫中閱讀有關(guān)安裝的更多信息。
Bitnami 容器可以與 Kubeapps 一起使用,用于在集群中部署和管理 Helm 圖表。
bitnami支持主從自動匹配,非常方便,這里給出一個(gè)主從配置的docker-compose文件配置,歡迎大家參考使用。
docker-compose.yml
version: '3.8'
services:
mysql-master:
image: bitnami/mysql
container_name: mysql-master
restart: always
ports:
- '3306:3306'
volumes:
# 初始化數(shù)據(jù)庫,只能在master節(jié)點(diǎn),不需要可以刪除
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
# node1的數(shù)據(jù)卷映射
- ./node1:/bitnami/mysql/data
environment:
- BITNAMI_DEBUG=true
# 時(shí)區(qū)
- TZ=Asia/Shanghai
# 默認(rèn)編碼集
- MYSQL_CHARACTER_SET=utf8mb4
- MYSQL_COLLATE=utf8mb4_general_ci
# Root密碼
- MYSQL_ROOT_PASSWORD=123456
# 主從復(fù)制用戶
- MYSQL_REPLICATION_USER=repl-user
# 主從復(fù)制密碼
- MYSQL_REPLICATION_PASSWORD=123456
# 主從復(fù)制角色
- 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:
# 分開部署可以去除該項(xiàng)
- mysql-master
environment:
- BITNAMI_DEBUG=true
# 時(shí)區(qū)
- TZ=Asia/Shanghai
# 默認(rèn)編碼集
- MYSQL_CHARACTER_SET=utf8mb4
- MYSQL_COLLATE=utf8mb4_general_ci
# ROOT用戶
- MYSQL_ROOT_USER=root
# Root密碼
- MYSQL_ROOT_PASSWORD=123456
# 主從復(fù)制用戶
- MYSQL_REPLICATION_USER=repl-user
# 主從復(fù)制密碼
- MYSQL_REPLICATION_PASSWORD=123456
# 主從復(fù)制角色
- MYSQL_REPLICATION_MODE=slave
# 主節(jié)點(diǎn)IP地址
- MYSQL_MASTER_HOST=192.168.0.135
# 主節(jié)點(diǎn)IP端口
- MYSQL_MASTER_PORT_NUMBER=3306
# 主節(jié)點(diǎn)ROOT用戶
- MYSQL_MASTER_ROOT_USER=root
# 主節(jié)點(diǎn)ROOT密碼
- MYSQL_MASTER_ROOT_PASSWORD=123456
責(zé)任編輯:華軒
來源:
微技術(shù)之家