Docker 安装并测试 MinIO
创作时间:
作者:
@小白创作中心
Docker 安装并测试 MinIO
引用
CSDN
1.
https://blog.csdn.net/weixin_45100444/article/details/139261852
Docker 安装 MinIO
1. 下载 MinIO
docker pull minio/minio
2. 检查当前下载的所有镜像
docker images
3. 创建目录
(1)存放配置
mkdir -p /usr/myapp/minio/config
(2)存储上传文件的目录
mkdir -p /usr/myapp/minio/data
4. 创建 MinIO 容器并运行
docker run -d \
--name minio \
--restart=always \
-p 9000:9000 \
-p 9001:9001 \
--privileged=true \
-e "MINIO_ROOT_USER=maple" \
-e "MINIO_ROOT_PASSWORD=qwe123..." \
-v /usr/myapp/minio/data:/data \
-v /usr/myapp/minio/config:/root/.minio \
minio/minio server \
--console-address ":9000" \
--address ":9001" /data
第一个 -p 9000:9000 是宿主机(物理机)端口号;第二个 -p 9001:9001 是容器内的端口号。目的是为了让外部访问容器内的服务时,可以通过宿主机的端口进行访问。
MINIO_ACCESS_KEY:账号(长度 ≥ 5 位)
MINIO_SECRET_KEY:密码(长度 ≥ 8 位)
5. 测试 MinIO 是否安装成功
虚拟机地址 + 端口号(9000)
http://192.168.101.129:9000/
6. 登录并测试 MinIO
(1)创建一个 Bucket
这里命名的名字,不要太复杂,因为上传文件的时候用得到。
(2)创建一个 Access Key
点击create
复制它俩 Access Key 与 Secret Key,把它们复制进记事本里,等会儿测试的时候需要用到它俩
(3)开始编写测试文件
新建一个 Maven 项目,因为需要导入 Maven 依赖,如下是 pom.xml
<dependencies>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.9.0</version>
</dependency>
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.4.2</version>
<exclusions>
<exclusion>
<artifactId>okhttp</artifactId>
<groupId>com.squareup.okhttp3</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
以下是 Java 代码(只需要一个 main 方法就够了):
package net.ibp;
import io.minio.BucketExistsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
import io.minio.UploadObjectArgs;
import io.minio.errors.MinioException;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
public class FileUploader {
public static void main(String[] args) throws IOException, NoSuchAlgorithmException, InvalidKeyException {
try {
// Create a minioClient with the MinIO server playground, its access key and secret key.
MinioClient minioClient =
MinioClient.builder()
.endpoint("http://192.168.101.129:9001")//这里的ip和端口就是你访问minio的ip,端口号是刚才安装minio时配置的 9001,而并非物理机访问的端口号
.credentials("U4J107ZkgoLxreaxs9hT", "fUGpLNKhKEMnPuzftCF4mTslK6CIYFJ6m74nxxWu")//这里的accessKey和secretKey就是我刚才让你复制保存的东西
.build();
// Make 'photos' bucket if not exist.
boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket("photos").build());//这里的photos就是让你刚才新建Bucket时的名字,让你不要起复杂的原因就在这里
if (!found) {
// Make a new bucket called 'photos'.
minioClient.makeBucket(MakeBucketArgs.builder().bucket("photos").build());//这里也是桶(Bucket)的名字
} else {
System.out.println("Bucket 'photos' already exists.");//这里也是桶的名字
}
// Upload '/home/user/Photos/asiaphotos.zip' as object name 'asiaphotos-2015.zip' to bucket
// 'asiatrip'.
minioClient.uploadObject(
UploadObjectArgs.builder()
.bucket("photos")//这里也是桶的名字
.object("flower.png")//这里是要上传文件的名字
.filename("E:\\Maple\\Pictures\\Saved Pictures\\flower.png")//上传的文件的路径
.build());
System.out.println("'E:\\Maple\\Pictures\\Saved Pictures\\flower.png' is successfully uploaded as " + "object 'flower.png' to bucket 'photos'.");//这里的路径名、文件名和桶的名字别忘了改成你自己的
} catch (MinioException e) {
System.out.println("Error occurred: " + e);
System.out.println("HTTP trace: " + e.httpTrace());
}
}
}
(4)上传成功
(5)在 MinIO 中查看
进去之后点击刷新(refresh)
至此结束!
热门推荐
掌握RSI背离 : 交易者综合指南
新手如何有效进行SEO优化技巧指南
电视没图像是什么原因?LED液晶电视维修方法全攻略
零基础学舞蹈?最适合你的8种舞蹈推荐
人民法院案例库上线一周年:入库案例超4700件,浏览量破2200万
死者抚恤金应由配偶独领还是与两成年儿子均分?
客厅朝向风水讲究及风水球适合的摆放场合
“糖妈妈”如何饮食?医生提醒:妊娠期糖尿病注意4个饮食原则
发明专利费减后的官费:法律适用与实务操作指南
高中生物DNA的结构和复制知识点整理
不用画笔的创意绘画:指印画树(图文教程)
29亿拿下昆药控股权,华润三九继续“吃药”,A股上市药企增至7家
深入浅出:掌握复杂概念的轻松方法
梦见去世的亲人是好事还是坏事?暗示了这两点
WordPress网站速度优化 如何提升网站加载速度?
表虚自汗是什么意思
解锁智能景区:景区票检手持终端的革命性变革
解锁智能景区:景区票检手持终端的革命性变革
8 部关于心理健康的动漫,按受欢迎程度排名
旧电脑装什么系统最快?这份指南帮你轻松选择
手指头挤伤后的最快消肿方法
卧室收纳有方法 整洁温馨空间感
修复iOS 18/17更新暂停的8个有效技巧
老祖宗告诫“勿近白虎”,到底什么是白虎?有四层意思
河北的美食有哪些?
安抚奶嘴有什么利与弊
南瓜酱意大利面
布洛芬胶囊一次吃几粒
多功能岛台适合什么风格?多功能岛台风格介绍
从平凡到非凡:带岛台的厨房设计如何提升你的厨房