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 检查, 成功同步

posted @ 2023-12-15 14:43  klvchen  阅读(900)  评论(0)    收藏  举报