admin 管理员组

文章数量: 887021

minio

目录

一,docker部署minio单节点单磁盘

二,SDK测试上传下载


一,docker部署minio单节点单磁盘

1.拉取镜像

# 下载镜像
docker pull minio/minio

2.查看镜像

docker images

3.启动minio(新版本)

创建本机上的挂载目录,这个可以自己指定。

mkdir -p /opt/minio/data
mkdir -p /opt/minio/config
docker run \
-p 9000:9000 \
-p 9090:9090 \
--net=host \
--name minio \
-d --restart=always \
-e "MINIO_ROOT_USER=minioadmin" \
-e "MINIO_ROOT_PASSWORD=minioadmin" \
-v /opt/minio/data:/data \
-v /opt/minio/config:/root/.minio \minio/minio server \
/data --console-address ":9090" -address ":9000"

-d --restart=always是容器自启动,建议不要带。

增加这行参数,执行docker stop的时候不管用,他会立马又自己启动起来,只能强制删除容器,如下。

docker rm -f 容器id

1)-p 9000:9000  -p 9090:9090 

将本地机器上的端口 9000和 9090绑定到容器上相同的端口。 这允许通过本地机器访问容器。

(冒号前面是本地机器的端口,后面是docker容器内的端口,两者建立一个映射,实际访问是访问本机端口)

2)-v PATH:/data

将本地机器上的存储卷 PATH绑定到容器上的/data路径。path是自已指令的,但是/data是固定的,他是容器内的,但是也可以通过配置文件来改。

3)minio/minio server /data --console-address ":9090" -address ":9000"

使用之前步骤中拉取的 minio/minio 镜像启动MinIO服务器。 --console-address ":9090" 选项指示服务器为MinIO控制台Web界面设置一个静态端口。 

4.是否启动成功

这里最好把没用的容器停掉,否则内存占用太多,等会访问巨慢。

#查看正在运行的docker容器
docker ps
#查看容器日志
docker logs -f 8947b6930f99

5.如果云服务器9000/9090端口没有放开,那防火墙那里要放开。

然后访问9090控制台,

创建桶,上传下载没问题说明isok.

二,SDK测试上传下载

这里按照官网来操作即可,软件开发工具包(SDK) — MinIO中文文档 | MinIO Linux中文文档

导入依赖

        <dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.5.9</version></dependency><dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>4.8.1</version></dependency>

1.创建minio客户端对象

    MinioClient minioClient =MinioClient.builder().endpoint("http://IP:9000").credentials("minioadmin", "minioadmin").build();

2.文件上传

    @Testpublic void upload() throws IOException, ServerException, InsufficientDataException, ErrorResponseException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {UploadObjectArgs asiatrip = UploadObjectArgs.builder().bucket("onlinecourse").object("2024/04/09/dingdaer.mp4").filename("D:\\bigfile_test\\dingdaer.mp4").build();minioClient.uploadObject(asiatrip);System.out.println("文件上传成功");}

bucket: 自己创建的桶的名字

object: 对象名,可以带目录,也可不带

filename: 本地文件路径

上传成功!!

2.文件删除

    @Testpublic void remove() throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {RemoveObjectArgs build = RemoveObjectArgs.builder().bucket("onlinecourse").object("2024/04/09/dingdaer.mp4").build();minioClient.removeObject(build);}

3.下载文件

    @Testpublic void download() throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {minioClient.downloadObject(DownloadObjectArgs.builder().bucket("onlinecourse").object("9fa9adef51d96db3720bd26dd9e64997.jpg").filename("D:\\bigfile_test\\download.jpg").build());}

filename为指定下载到哪里。

注: 出现问题,写错了等等,就把docker容器停掉重新启动即可。

docker常用命令Docker常用命令的使用及镜像的构建-CSDN博客

本文标签: Minio