MinIO快速入门
MinIO 是一款高性能的对象存储软件,兼容 Amazon S3 API,非常适合用于部署私有云存储解决方案。
1. 下载 MinIO
首先,下载 MinIO 服务器和客户端(mc)。MinIO 为多种平台提供了预编译的二进制文件。
对于 Linux 和 macOS 用户:
可以通过运行以下命令来下载 MinIO 服务器和客户端 mc:
curl https://dl.min.io/server/minio/release/linux-amd64/minio -o minio
curl https://dl.min.io/client/mc/release/linux-amd64/mc -o mc
chmod 755 minio mc
对于 Windows 用户:
可以从 MinIO 官方网站下载 Windows 版本的二进制文件,并解压到一个目录。
2. 启动 MinIO 服务器
假设已经有一个本地目录 /tmp/data
作为存储桶的数据目录,可以启动 MinIO 服务器如下:
./minio server /tmp/data
如果使用的是 Windows,命令将是:
minio.exe server C:\path\to\data
这将会启动一个 MinIO 服务器,监听默认端口 9000。
3. 使用 MinIO 客户端 (mc)
安装环境变量
为了方便使用 mc
命令,需要设置一些环境变量:
export MINIO_ROOT_USER=minioadmin
export MINIO_ROOT_PASSWORD=minioadmin
初始化 mc
接下来初始化 mc
,指定阿里云存储的地址、访问密钥和密钥密码:
./mc config host add myminio http://localhost:9000 minioadmin minioadmin
列出存储桶
使用 ls
命令查看当前没有存储桶:
./mc ls myminio
创建存储桶
创建一个新的存储桶 mybucket
:
./mc mb myminio/mybucket
上传文件
上传一个文件到存储桶 mybucket
中:
./mc cp /path/to/local/file myminio/mybucket/myfile
下载文件
从存储桶 mybucket
下载文件到本地:
./mc cp myminio/mybucket/myfile /path/to/local/destination
查看文件列表
列出存储桶 mybucket
中的所有文件:
./mc ls myminio/mybucket
4. 使用浏览器访问 MinIO 控制台
MinIO 提供了一个 Web 控制台界面,可以通过浏览器访问:
- 打开浏览器,输入
http://localhost:9000/minio
- 登录页面,使用用户名
minioadmin
和密码minioadmin
登录。
5. 在项目中的应用
在Java项目中使用MinIO可以非常方便地集成对象存储功能。下面是在Java项目中使用MinIO的快速入门指南,包括如何设置依赖、连接MinIO服务器、创建存储桶、上传文件等操作。
5.1. 添加MinIO依赖
要在Java项目中使用MinIO,首先需要在项目的pom.xml
文件中添加MinIO客户端库的依赖。
<dependencies>
<!-- MinIO Java SDK -->
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.9.0</version>
</dependency>
</dependencies>
5.2. 连接MinIO服务器
创建一个MinioClient
实例,指定MinIO服务器的URL、访问密钥和密钥密码。
import io.minio.MinioClient;
public class MinioClientExample {
public static void main(String[] args) throws Exception {
String endpoint = "http://localhost:9000";
String accessKey = "minioadmin";
String secretKey = "minioadmin";
try {
MinioClient minioClient = new MinioClient(endpoint, accessKey, secretKey);
} catch (Exception e) {
e.printStackTrace();
}
}
}
5.3. 创建存储桶
使用makeBucket
方法创建一个名为mybucket
的新存储桶。