Minio多主机分布式 docker-compose 集群部署

参考 docker-compose搭建多主机分布式minio - 会bk的鱼 - 博客园 (cnblogs.com)

【运维】docker-compose安装minio集群-优快云博客

Minio 是个基于 Golang 编写的开源对象存储套件,虽然轻量,却拥有着不错的性能

中文地址:MinIO | 用于AI的S3 & Kubernetes原生对象存储

官网地址:MinIO | High Performance, Kubernetes Native Object Storage

对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。当然 Minio 除了直接作为对象存储使用,还可以作为云上对象存储服务的网关层,无缝对接到 Amazon S3、MicroSoft Azure。

一 准备工作

1、三台机器  配置 vim /etc/hosts

192.168.1.244 minio4
192.168.1.243 minio3
192.168.1.242 minio2

验证

查看docker

查看 docker-compose -v

如果没有则安装 

sudo yum install docker-compose

二、编写docker-compose.yml 文件

整体目录结构如下:

希望 nginx 在243上

有两个类型的docker-compose.yml (带nginx和不带nginx的),具体如下

1、不带nginx(242和244)

version: "3"
services:
  minio:
    image: quay.io/minio/minio
    container_name: minio-node2
    hostname: minio2
    expose:
      - "19000"
      - "19001"
    environment:
      - MINIO_ROOT_USER=minio
      - MINIO_ROOT_PASSWORD=minio****
    volumes:
      - ./data-1:/data1
      - ./data-2:/data2
    command: server --console-address ':19001' --address ':19000' http://minio{2...4}/data{1...2}
    privileged: true
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:19000/minio/health/live"]
      interval: 30s
      timeout: 20s
      retries: 3
    extra_hosts:
      - minio2:192.168.1.242
      - minio3:192.168.1.243
      - minio4:192.168.1.244
    restart: always
    network_mode: host
### 使用 Docker 部署 MinIO 集群 为了在两台服务器上使用 Docker 部署 MinIO 集群,需遵循特定配置和命令来确保分布式存储系统的正常运行。 #### 准备工作 每台服务器应安装并配置好 DockerDocker Compose。确认网络连接稳定,并开放必要的端口用于节点间通信以及客户端访问[^1]。 #### 创建环境变量文件 创建一个名为 `.env` 的文件,在其中定义共享密钥和其他必要参数: ```bash MINIO_ROOT_USER=minioadmin MINIO_ROOT_PASSWORD=miniosecret ENDPOINT_1=server1.example.com:9000 ENDPOINT_2=server2.example.com:9000 ACCESS_KEY=my-access-key SECRET_KEY=my-secret-key ``` 此步骤有助于简化后续操作中的认证过程。 #### 编写 `docker-compose.yml` 在同一目录下编写如下所示的 `docker-compose.yml` 文件,该文件描述了两个服务实例分别位于不同主机上的情况: ```yaml version: '3' services: minio1: image: quay.io/minio/minio command: server http://${ENDPOINT_1}/data{1...4} http://${ENDPOINT_2}/data{1...4} environment: MINIO_ROOT_USER: ${MINIO_ROOT_USER} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD} ports: - "9000:9000" - "9001:9001" volumes: - /mnt/data:/export networks: - minionet networks: minionet: volumes: data1: data2: data3: data4: ``` 上述 YAML 片段展示了如何通过指定多个 URL 来启动跨机器分布式MinIO 实例集合。注意替换实际 IP 地址或域名到 `${ENDPOINT_X}` 变量中去。 #### 启动集群 完成以上准备工作之后,在任意一台服务器执行以下指令即可初始化整个集群: ```bash docker-compose up -d ``` 这会按照编排好的方式拉取镜像、创建容器并将其加入到现有的 MinIO 分布式环境中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值