Docker安装MinIo出现无法create Bucket的情况(已解决)

问题情况

一开始我是跟着下面这个教程进行安装的
Docker安装MinIO详细步骤_怪 咖@的博客-CSDN博客

全程跟着教程走,成功进入minIo客户端

但是在创建bucket的时候,出现了

These features are unavailable in a single-disk setup.Please deploy a server in Dist

解决方式

上面红字主要就是说,该功能需要使用分布式部署才能使用,而上面的教程只挂载了一个卷,所以无法创建

在找了很多教程之后,总算找到一个教程能够成功

Docker部署mimio - 知乎

这个教程的方式就是挂载多个卷,至少挂载四个,然后就能正常创建bucket了,就类似于一个主机通过挂载多个卷的方式,模拟minIo进行了分布式部署

这里整理一下我自己的安装全流程:
①拉取镜像

docker pull minio/minio

②创建将要用于挂载的文件夹

#用于挂载minIo的各种配置
mkdir -p /home/minio/config 
#以下均用作挂载数据,谨记,至少四个,至少四个才能完成minIo的一些特殊功能,这也是创建bucket的必须要求
mkdir -p /home/minio/data1
mkdir -p /home/minio/data2
mkdir -p /home/minio/data3
mkdir -p /home/minio/data4

③创建容器

docker run -it -d --name minio \
--privileged=true \
--restart=always \
-p 9000:9000 -p 9090:9090 \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=wen200389" \
-v /home/minio/config:/root/.minio \
-v /home/minio/disk1:/disk1 \
-v /home/minio/disk2:/disk2 \
-v /home/minio/disk3:/disk3 \
-v /home/minio/disk4:/disk4 \
minio/minio:latest server /disk{1...4} \
--console-address ":9090"
  • --privileged=true

    被用于授予MinIO容器访问主机系统上磁盘设备的特权,以便能够挂载并使用指定的磁盘路径

  • --restart=always

    表示服务器重启之后,该服务也将重启

  • 第一个-p是指定API的端口 第二个-p是指定console客户端的端口

  • "MINIO_ROOT_USER=admin"

    客户端账号

  • "MINIO_ROOT_PASSWORD=wen200389"

    密码(账号长度必须大于等于5,密码长度必须大于等于8位,否则会报错)

  • minio/minio:latest server /disk{1...4}

    启动服务,并且以作为disk{1...4}MinIO服务器的数据存储路径。

  • --console-address ":9090"

    minIo的客户端是动态端口,以下配置设置端口为静态

有些教程里面还写了 -net=host,这个的含义就是,让容器的端口对应主机的端口,这样可能会导致端口冲突,不建议加这个指令

Docker是一个开源的应用容器引擎,它使得开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化。MinIO 是一个开源的对象存储服务器,常用于构建云存储服务。 要在 Docker安装 MinIO,你需要按照以下步骤操作: 1. **安装 Docker**(如果你还没有安装): - 对于 Ubuntu/Debian: `sudo apt-get update && sudo apt-get install docker.io` - 对于 CentOS/RHEL: `sudo yum install docker-ce` - 对于 macOS (通过 Docker Desktop): [官方下载](https://docs.docker.com/docker-for-mac/install/) - 对于 Windows: [官方下载](https://docs.docker.com/docker-for-windows/install/) 2. **拉取 MinIO 镜像**: 使用 Docker 命令行,运行: ``` docker pull minio/minio ``` 3. **运行 MinIO 容器**: 可以选择以守护进程模式运行 (`-d` 参数表示 detached, 后台运行),例如: ``` docker run -p 9000:9000 -v minio-data:/data -e MINIO_ACCESS_KEY=your-access-key -e MINIO_SECRET_KEY=your-secret-key minio/minio server /data ``` 这里 `-p 9000:9000` 将容器内的 9000 端口映射到主机的 9000 端口,`-v` 挂载宿主机目录(如 `minio-data`)为容器数据卷,`-e` 设置访问密钥和秘密密钥。 4. **配置和验证**: 访问 `http://localhost:9000`(如果在本地运行),使用你刚才设置的 `MINIO_ACCESS_KEY` 和 `MINIO_SECRET_KEY` 登录,检查是否成功安装并能正常工作。 **相关问题--:** 1. Docker镜像的作用是什么? 2. 除了运行,还可以如何管理和控制 MinIO 容器? 3. 如何在 Docker Compose 文件中定义并运行 MinIO 服务?
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值