基于Docker安装部署MinIO对象存储服务

709 阅读3分钟

MinIO

MinIO是一个开源的分布式对象存储服务器,旨在实现高性能、高可用性和可扩展性。它是构建在云原生环境中的对象存储解决方案之一。

MinIO以轻量级和快速部署为特点,可以在各种硬件设备上运行,包括个人计算机、服务器和云计算平台。它使用分布式架构来存储和管理大规模数据集,并提供了简单的RESTful API接口,使应用程序能够通过标准HTTP/HTTPS协议访问和操作存储在MinIO中的对象。

MinIO支持数据的分片和复制,可以将数据在多个节点上进行存储和备份,以提高可用性和数据冗余性。它还支持数据加密、访问控制和事件通知等功能,以满足安全性和合规性需求。

由于其开源性质和易于使用的特点,MinIO在云原生应用开发、数据湖、备份和恢复等场景中得到广泛应用。它与其他云原生技术(如Kubernetes)以及各种应用程序和工具集成良好,为用户提供了一种灵活而可靠的对象存储解决方案。

官网:https://min.io/

官方文档:https://min.io/docs/minio/kubernetes/upstream/index.html

GitHub地址:https://github.com/minio/minio

早期MinIO

1.拉去鏡像

docker pull minio/minio

2.创建容器

docker run -p 9000:9000 --name minio -e "MINIO_ACCESS_KEY=administration" -e "MINIO_SECRET_KEY=administration" -v /usr/local/docker/minio/data:/data -v /usr/local/docker/minio/config:/root/.minio -d minio/minio server /data

注意: 

若不设置账号密码则 Access Key和Secret默认都是minioadmin

若初始化账号密码则Access Key长度必须大于3,Secret长度大于8。

在这里插入图片描述
3.访问登录
在这里插入图片描述

4.创建一个文件夹,用官方的话说就是存储桶
在这里插入图片描述
5.获取临时访问链接
在这里插入图片描述
6.修改存储桶的访问策略,获取永久的访问链接
在这里插入图片描述
7.策略有三种 : 只读、只写、可读可写,访问前缀需要设置为*.*
在这里插入图片描述
8.此时只需要复制链接中的前一串路径即可永久访问。
在这里插入图片描述

最新MinIO

1.拉取镜像

docker pull quay.io/minio/minio

2.创建环境变量文件config.env

 MINIO_ROOT_USER and MINIO_ROOT_PASSWORD sets the root account for the MinIO server.
# This user has unrestricted permissions to perform S3 and administrative API operations on any resource in the deployment.
# Omit to use the default values 'minioadmin:minioadmin'.
# MinIO recommends setting non-default values as a best practice, regardless of environment

MINIO_ROOT_USER=myminioadmin
MINIO_ROOT_PASSWORD=minio-secret-key-change-me

# MINIO_VOLUMES sets the storage volume or path to use for the MinIO server.

MINIO_VOLUMES="/mnt/data"

# MINIO_SERVER_URL sets the hostname of the local machine for use with the MinIO Server
# MinIO assumes your network control plane can correctly resolve this hostname to the local machine

# Uncomment the following line and replace the value with the correct hostname for the local machine and port for the MinIO server (9000 by default).

#MINIO_SERVER_URL="http://minio.example.net:9000"

3.创建并运行容器

docker run -dt                                  \
  -p 8087:9000 -p 8086:9090                     \
  -v /usr/local/program/minio/data:/mnt/data                             \
  -v /usr/local/program/minio/config/config.env:/etc/config.env         \
  -e "MINIO_CONFIG_ENV_FILE=/etc/config.env"    \
  --name "minio"                          \
  quay.io/minio/minio server --console-address ":9090"

注意:--console-address ":9090"是MinIO控制台Web界面设置静态端口,即容器内部端口,使用-p端口映射需要注意

4.登录

访问http://IP:8086访问MinIO 控制台

在这里插入图片描述 使用为容器指定的环境文件中的MINIO_ROOT_USERMINIO_ROOT_PASSWORD配置进行登录 在这里插入图片描述