docker搭建minio集群,集群分享文件URL踩坑问题

一、环境准备

3台机器,Ip地址依次为IP1,IP2,IP3

二、设置服务器时间同步

Minio集群需要各个节点的时间保持同步,使用NTP作为时间同步服务,这里以Minio-1(IP1)为上游服务器,其它2个节点为下游服务器,做时间节点同步

1、Minio-1 服务器安装NTP
(1)安装ntp

yum install ntp ntpdate –y

(2) 启动ntp服务

systemctl start ntpd

(3)服务端修改配置文件 /etc/ntp.conf
在这里插入图片描述

server 127.127.1.1
fudge 127.127.1.1 stratum 10 

(4)重启ntp服务

systemctl restart ntpd

(5)查看ntp状态

ntpq -p

(6)设置开机启动

systemctl enable ntpd

2、其它下游服务器做时间同步,Minio-2(IP2)、Minio-3(IP3) 以下操作需要在所有下游服务器操作
(1)安装ntp

yum install ntp ntpdate –y

(2)手动同步一次时间

/usr/sbin/ntpdate -u IP1

(3)修改配置文件(/etc/ntp.conf)

在这里插入图片描述

restrict IP1 nomodify notrap noquery

server IP1
fudge IP1 stratum 10

(4)启动ntp服务

systemctl start ntpd

(5)设置开机启动

systemctl enable ntpd

(6)查看状态

ntpq -p

三、设置Minio集群(注意docker部署集群模式时必须指定-–net=host参数,使用主机网络,采用端口映射无法创建集群)

1、拉取镜像(所有Minio节点都需要执行

docker pull minio/minio

2、配置本地hosts解析(所有Minio节点都需要执行,/etc/hosts文件)

IP1 minio-1
IP2 minio-2
IP3 minio-3

3、创建minio本地存储路径(所有Minio节点都需要执行)

mkdir -p /home/minio/{data,backup}

4、创建minio容器(各个节点执行各个节点的命令)
(1)Minio-1(IP1)节点执行命令

docker run -d --name minio-01 --restart=always --net=host \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=xxxxx" \
-e "MINIO_SERVER_URL=http://IP1:9000" \
-v /home/minio/data:/data1 \
-v /home/minio/backup:/data2 \
minio/minio:latest server \
--address IP1:9000 \
--console-address '0.0.0.0:9001' http://minio-{1...3}/data{1...2}

(2)Minio-2(IP2)节点执行命令

docker run -d --name minio-02 --restart=always --net=host \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=xxxxx" \
-e "MINIO_SERVER_URL=http://IP1:9000" \
-v /home/minio/data:/data1 \
-v /home/minio/backup:/data2 \
minio/minio:latest server \
--address IP2:9000 \
--console-address '0.0.0.0:9001' http://minio-{1...3}/data{1...2}

(3)Minio-3(IP3)节点执行命令

docker run -d --name minio-03 --restart=always --net=host \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=xxxxx" \
-e "MINIO_SERVER_URL=http://IP1:9000" \
-v /home/minio/data:/data1 \
-v /home/minio/backup:/data2 \
minio/minio:latest server \
--address IP3:9000 \
--console-address '0.0.0.0:9001' http://minio-{1...3}/data{1...2}

四、访问任意节点IP:9001访问
五、新版踩坑:
在分享share文件的时候会出现IP 地址为127.0.0.1或者localhost的情况,解决办法:
找一台机器,例如IP地址为IP1的话,在三台机器启动容器的时候,分别添加环境变量参数:

-e "MINIO_SERVER_URL=http://IP1:9000" \

并且集群内的所有机器都需要是IP1地址

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面是使用docker搭建minio分布式集群的详细步骤: 1. 安装DockerDocker Compose 您需要在您的机器上安装DockerDocker Compose。如果您还没有安装,请先安装。 2. 创建docker-compose.yml文件 在您的工作目录下创建一个名为docker-compose.yml的文件,并将以下内容复制到文件中。 ``` version: '3' services: minio1: image: minio/minio container_name: minio1 command: server http://minio{1...4}/data{1...4} ports: - "9001:9000" volumes: - ./data1:/data1 environment: MINIO_ACCESS_KEY: YOUR_ACCESS_KEY MINIO_SECRET_KEY: YOUR_SECRET_KEY restart: always minio2: image: minio/minio container_name: minio2 command: server http://minio{1...4}/data{1...4} ports: - "9002:9000" volumes: - ./data2:/data2 environment: MINIO_ACCESS_KEY: YOUR_ACCESS_KEY MINIO_SECRET_KEY: YOUR_SECRET_KEY restart: always minio3: image: minio/minio container_name: minio3 command: server http://minio{1...4}/data{1...4} ports: - "9003:9000" volumes: - ./data3:/data3 environment: MINIO_ACCESS_KEY: YOUR_ACCESS_KEY MINIO_SECRET_KEY: YOUR_SECRET_KEY restart: always minio4: image: minio/minio container_name: minio4 command: server http://minio{1...4}/data{1...4} ports: - "9004:9000" volumes: - ./data4:/data4 environment: MINIO_ACCESS_KEY: YOUR_ACCESS_KEY MINIO_SECRET_KEY: YOUR_SECRET_KEY restart: always ``` 3. 启动集群 在您的工作目录中运行以下Docker Compose命令,以启动Minio集群。 ``` docker-compose up -d ``` 这将在您的机器上启动四个Minio容器,每个容器都有一个自己的数据卷,并且它们都在同一网络中。 4. 访问Minio UI 您可以在浏览器中访问http://localhost:9001/,并使用您的访问密钥和秘密密钥登录Minio UI。您将看到一个名为“data1”的存储桶已经被创建。 5. 添加其他节点 如果您需要添加其他节点,请在docker-compose.yml文件中添加另一个服务,并使用相同的access key和secret key。您还需要在Minio UI中添加新的节点。 这些是使用Docker Compose搭建Minio分布式集群的基本步骤。如果您需要更详细的指导,请查看Minio官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员阿明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值