Docker安装Minio

本文介绍了对象存储服务OSS的概念及其在企业中的应用,推荐了开源对象存储系统MinIO。MinIO具备高性能、可扩容、云原生等特点,并兼容Amazon S3接口。文章详细展示了如何在Docker中安装和运行MinIO,包括单主机和多主机模式,以及使用docker-compose配置。通过这些步骤,企业可以快速搭建自己的内部对象存储服务。
摘要由CSDN通过智能技术生成

什么是对象存储

对象存储服务OSS(Object Storage Service)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。

对象存储最大的优势就在于它可以存储大容量的非结构化数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。对于大多数的企业来说,这可以说是最为理想的存储媒介了。

对于业务已在公有云上的企业来说,使用公有云提供的 OSS 服务,可以很好的节省存储的成本,且一般都提供易接入的 SDK,以阿里云的OSS 服务为例,在存储介质的上层封装可标注的 RESTful API 接口,使用起来十分方便。

但是对于一些没有选择业务上云或者想要下云的企业来说,要使用公有云的 OSS,在公网带宽方面就需要有一定的投入,毕竟需要通过公网传输,带宽太小,传输速度就会慢,且在传输过程中数据的安全性和完整性也有损失的风险,走专线的费用又十分昂贵,不实在。

这种情况下,MinIO 就是一个不错的选择,麻雀虽小,五脏俱全,企业可以以此快速构建自己内部的对象存储服务。

什么是 MinIO

Minio 是个基于 Golang 编写的开源对象存储套件,基于Apache License v2.0开源协议,虽然轻量,却拥有着不错的性能。它兼容亚马逊S3云存储服务接口。可以很简单的和其他应用结合使用,例如 NodeJS、Redis、MySQL等。

特点

  • 高性能:作为高性能对象存储,在标准硬件条件下它能达到55GB/s的读、35GG/s的写速率
  • 可扩容:不同MinIO集群可以组成联邦,并形成一个全局的命名空间,并跨越多个数据中心
  • 云原生:容器化、基于K8S的编排、多租户支持
  • Amazon S3兼容:Minio使用Amazon S3 v2 / v4 API。可以使用Minio SDK,Minio Client,AWS SDK和AWS CLI访问Minio服务器。
  • 可对接后端存储: 除了Minio自己的文件系统,还支持DAS、 JBODs、NAS、Google云存储和Azure Blob存储。
  • SDK支持: 基于Minio轻量的特点,它得到类似Java、Python或Go等语言的sdk支持
  • Lambda计算: Minio服务器通过其兼容AWS SNS / SQS的事件通知服务触发Lambda功能。支持的目标是消息队列,如Kafka,NATS,AMQP,MQTT,Webhooks以及Elasticsearch,Redis,Postgres和MySQL等数据库。
  • 有操作页面
  • 功能简单: 这一设计原则让MinIO不容易出错、更快启动
  • 支持纠删码:MinIO使用纠删码、Checksum来防止硬件错误和静默数据污染。在最高冗余度配置下,即使丢失1/2的磁盘也能恢复数据

应用场景

单主机单硬盘模式

单主机单硬盘模式

单主机多硬盘模式

单主机多硬盘模式

多主机多硬盘分布式

多主机多硬盘分布式

Docker安装运行Minio

拉取镜像

docker pull minio/minio:latest

运行

docker run \
--name minio \
-p 9000:9000 \
-p 9001:9001 \
-e "MINIO_PROMETHEUS_AUTH_TYPE=public" \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin123456" \
-v /mydata/minio/data:/data \
-v /mydata/minio/config:/root/.minio \
-d minio/minio server /data --console-address ":9001"

docker-compose 安装Minio

docker-compose.yml配置

minio:
    image: minio/minio:latest
    container_name: minio
    ports:
      - "9001:9000"
      - "9002:9001"
    restart: always
    command: server /data --console-address ":9001" # 启动服务绑定控制端页面端口
    environment:
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
      MINIO_PROMETHEUS_AUTH_TYPE: "public"       # 操作权限
      MINIO_ROOT_USER: minio     				 # 登录账号
      MINIO_ROOT_PASSWORD: ljdMinio.com             # 登录密码
    logging:
      options:
        max-size: "50M"                          # 最大日志文件限制
        max-file: "10"
      driver: json-file
    volumes:
      - /mydata/minio/data:/data          # 映射文件路径
      - /mydata/minio/config:/root/.minio # 映射文件路径
    networks:
      ServerNet:
        ipv4_address: 172.20.0.90                # 配置主机网络ip

启动

docker-compose up -d minio

注意:

  • 密钥必须大于8位,否则会创建失败
  • 文件目录和配置文件一定要映射到主机,你懂得
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值