minio-docker单节点部署SDK测试文件上传下载

目录

一,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.文件上传

    @Test
    public 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: 本地文件路径

上传成功!!

注: 如果对象名称(objectName)一样,那么第二次会将第一次上传的覆盖掉。

2.文件删除

    @Test
    public 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.下载文件

    @Test
    public 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博客

  • 8
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值