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博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/539662.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯备赛(C/C++组)

README&#xff1a; 本笔记是自己的备考笔记&#xff0c;按照官网提纲进行复习&#xff01;适合有基础&#xff0c;复习用。 一、总考点 试题考查选手解决实际问题的能力&#xff0c;对于结果填空题&#xff0c;选手可以使用手算、软件、编程等方法解决&#xff0c;对于编程大…

Cesium 无人机航线规划

鉴于大疆司空平台和大疆无人机app高度绑定&#xff0c;导致很多东西没办法定制化。 从去年的时候就打算仿大疆开发一套完整的平台&#xff0c;包括无人机app以及仿司空2的管理平台&#xff0c;集航线规划、任务派发、实时图像、无人机管理等功能的平台。 当前阶段主要实现了&…

Kubernetes学习笔记12

k8s核心概念&#xff1a;控制器&#xff1a; 我们删除Pod是可以直接删除的&#xff0c;如果生产环境中的误操作&#xff0c;Pod同样也会被轻易地被删除掉。 所以&#xff0c;在K8s中引入另外一个概念&#xff1a;Controller&#xff08;控制器&#xff09;的概念&#xff0c;…

STM32电机控制固件架构

目录 一、应用程序剖析 二、面向现场的控制实现体系结构 1、参考计算循环 2、电流调节环路 3、安全回路 一、应用程序剖析 上图显示了由ST MC SDK构建的电机控制应用程序。首先&#xff0c;这样的应用程序是由电机控制工作台生成的软件项目&#xff0c;这要归功于STM32Cube…

中国手机频段介绍

中国目前有三大运营商&#xff0c;分别是中国移动、中国联通、中国电信&#xff0c;还有一个潜在的运营商中国广电&#xff0c;各家使用的2/3/4G的制式略有不同 中国移动的GSM包括900M和1800M两个频段。 中国移动的4G的TD-LTE包括B34、B38、B39、B40、B41几个频段&#xff0c;…

纯css实现switch开关

代码比较简单&#xff0c;有需要直接在下边粘贴使用吧~ html: <div class"switch-box"><input id"switch" type"checkbox"><label></label></div> css&#xff1a; .switch-box {position: relative;height: 25px…

SFP光模块和媒体转换器的区别

SFP光模块和媒体转换器都是光电转换设备。它们是否可以互换使用&#xff1f;它们之间有什么区别&#xff1f; SFP光模块与媒体转换器&#xff1a;它们是什么&#xff1f; SFP模块是一种可热插拔的光模块&#xff0c;用于连接网络交换机。它可以将电信号转换为光信号&#xff…

Java - JDK8 下载 安装教程(Mac M芯片)

下载 JDK 安装包 在个人的电脑上&#xff0c;我是比较喜欢使用 zulu 的 JDK&#xff0c;因为它比较早的支持了苹果的 M1 芯片 不论是版本还是功能都非常齐全&#xff0c;各个系统都有对应版本&#xff0c;基于 OpenJDK&#xff0c;免费&#xff0c;下载也方便 官网下载&…

算法——马尔可夫与隐马尔可夫模型

HMM&#xff08;Hidden Markov Model&#xff09;是一种统计模型&#xff0c;用来描述一个隐含未知量的马尔可夫过程&#xff08;马尔可夫过程是一类随机过程&#xff0c;它的原始模型是马尔科夫链&#xff09;&#xff0c;它是结构最简单的动态贝叶斯网&#xff0c;是一种著名…

Qt---控件的基本属性

文章目录 enabled(控件可用状态)geometry(位置和尺寸)简单恶搞程序 windowIcon(顶层 widget 窗口图标)使用 qrc 机制 windowOpacity(窗口的不透明值)cursor(当鼠标悬停空间上的形状)自定义鼠标图标 toolTip(鼠标悬停时的提示)focusPolicy(控件获取焦点的策略)styleSheet(通过CS…

数据集学习

1&#xff0c;CIFAR-10数据集 CIFAR-10数据集由10个类的60000个32x32彩色图像组成&#xff0c;每个类有6000个图像。有50000个训练图像和10000个测试图像。 数据集分为五个训练批次和一个测试批次&#xff0c;每个批次有10000个图像。测试批次包含来自每个类别的恰好1000个随机…

C++的stack和queue类(三):适配所有容器的反向迭代器

目录 前言 list的反向迭代器 list.h文件 ReverseIterator.h文件 test.cpp文件 前言 迭代器按性质分类&#xff1a; 单向&#xff1a;forward_list双向&#xff1a;list随机&#xff1a;vector / deque 迭代器按功能分类&#xff1a; 正向反向const list的反向迭代器…

uni-app web端使用getUserMedia,摄像头拍照

<template><view><video id"video"></video></view> </template> 摄像头显示在video标签上 var opts {audio: false,video: true }navigator.mediaDevices.getUserMedia(opts).then((stream)> {video document.querySelec…

分布式技术---------------消息队列中间件之 Kafka

目录 一、Kafka 概述 1.1为什么需要消息队列&#xff08;MQ&#xff09; 1.2使用消息队列的好处 1.2.1解耦 1.2.2可恢复性 1.2.3缓冲 1.2.4灵活性 & 峰值处理能力 1.2.5异步通信 1.3消息队列的两种模式 1.3.1点对点模式&#xff08;一对一&#xff0c;消费者主动…

架构设计-订单系统之订单系统的架构进化

1、单数据库架构 产品初期&#xff0c;技术团队的核心目标是&#xff1a;“快速实现产品需求&#xff0c;尽早对外提供服务”。 彼时的专车服务都连同一个 SQLServer 数据库&#xff0c;服务层已经按照业务领域做了一定程度的拆分。 这种架构非常简单&#xff0c;团队可以分开…

Pytorch: 利用预训练的残差网络ResNet50进行图像特征提取,并可视化特征图热图

1. 残差网络ResNet的结构 2.图像特征提取和可视化分析 import cv2 import time import os import matplotlib.pyplot as plt import torch from torch import nn import torchvision.models as models import torchvision.transforms as transforms import numpy as npimgname…

汽车咨询|基于SprinBoot的汽车资讯管理系统设计与实现(源码+数据库+文档)

汽车资讯管理系统目录 基于SprinBoot的汽车资讯管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农|毕设布道师&#xff…

Promise简单概述

一. Promise是什么&#xff1f; 理解 1.抽象表达&#xff1a; Promise是一门新的技术(ES6规范) Promise是JS中进行异步编程的新解决方案(旧方案是单纯使用回调函数) 异步编程&#xff1a;包括fs文件操作&#xff0c;数据库操作(Mysql)&#xff0c;AJAX&#xff0c;定时器 2.具…

STM32H743VIT6使用STM32CubeMX通过I2S驱动WM8978(3)

接前一篇文章&#xff1a;STM32H743VIT6使用STM32CubeMX通过I2S驱动WM8978&#xff08;2&#xff09; 本文参考以下文章及视频&#xff1a; STM32CbueIDE Audio播放音频 WM8978 I2S_stm32 cube配置i2s录音和播放-CSDN博客 STM32第二十二课&#xff08;I2S&#xff0c;HAL&am…

vue,table页签里的一列,点击时,会弹出时间线提示,高度自适应

需求&#xff1a;点击商品来源这一列 弹出一个时间线&#xff0c;查看商品的来源记录 <el-popover></el-popover> 弹出框组件 <el-timeline-item></el-timeline-item>时间线组件slot-scopescope slot是插槽&#xff0c;slot-scope“scope“语义更加明…