docker-compose 搭建 minio 主从
背景
针对客户没有多余的机器尽量保证 minio 的数据完整,不要求高可用
| IP | 部署服务 |
|---|---|
| 172.16.16.77 | minio_master, minio_sync |
| 172.16.16.78 | minio_slave |
部署 minio_master
在 172.16.16.77 上操作
mkdir -p /data/docker-compose/minio1/minio_data
cd /data/docker-compose/minio1
cat >> docker-compose.yml << EOF
version: '3.4'
services:
minio1:
image: bitnami/minio:2023.12.14
deploy:
resources:
limits:
cpus: '1'
memory: 2G
volumes:
- ./minio_data:/bitnami/minio/data
- /etc/localtime:/etc/localtime
container_name: minio1
environment:
- MINIO_ROOT_USER=minio # 用户名
- MINIO_ROOT_PASSWORD=minio123 # 密码
- LANG=en_US.UTF-8
restart: always
network_mode: "host"
EOF
chown 1001.1001 minio_data
docker-compose up -d
部署 minio_slave
在 172.16.16.78 上操作
mkdir -p /data/docker-compose/minio2/minio_data
cd /data/docker-compose/minio2
cat >> docker-compose.yml << EOF
version: '3.4'
services:
minio2:
image: bitnami/minio:2023.12.14
deploy:
resources:
limits:
cpus: '1'
memory: 2G
volumes:
- ./minio_data:/bitnami/minio/data
- /etc/localtime:/etc/localtime
container_name: minio2
environment:
- MINIO_ROOT_USER=minio # 用户名
- MINIO_ROOT_PASSWORD=minio123 # 密码
- LANG=en_US.UTF-8
restart: always
network_mode: "host"
EOF
chown 1001.1001 minio_data
docker-compose up -d
部署 minio_sync
在 172.16.16.77 上操作
mkdir -p /data/docker-compose/minio-sync
cd /data/docker-compose/minio-sync
cat >> docker-compose.yml << EOF
version: '3.4'
services:
minio-sync:
image: docker.io/bitnami/minio-client:2023
deploy:
resources:
limits:
cpus: '1'
memory: 2G
container_name: minio-sync
restart: always
command:
- /bin/bash
- -c
- |
mc config host add minio_master http://172.16.16.77:9000 minio minio123 # 配置 host,名字, url, 用户名,密码
mc config host add minio_slave http://172.16.16.78:9000 minio minio123 # 配置 host,名字, url, 用户名,密码
mc mirror --remove --overwrite --watch minio_master minio_slave # 同步
EOF
docker-compose up -d
测试
在 172.16.16.77 上创建 bucket test,上传

在 172.16.16.78 检查, 成功同步


浙公网安备 33010602011771号