如何在Docker下部署MinIO存储服务通过Buckets实现文件的远程上传

news2024/9/22 11:30:12

📑前言

本文主要是Linux下通过Docker部署MinIO存储服务实现远程上传的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是青衿🥇
☁️博客首页:CSDN主页放风讲故事
🌄每日一句:努力一点,优秀一点
在这里插入图片描述

目录

文章目录

  • 📑前言
  • **目录**
      • 前言
      • 文件存储方式对比:
      • 1. Docker 部署MinIO
      • 2. 本地访问MinIO
      • 3. Linux安装Cpolar
      • 4. 配置MinIO公网地址
      • 5. 远程访问MinIO管理界面
      • 6. 固定MinIO公网地址
  • 📑文章末尾


前言

MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼容Amazon S3 API,因此可以与现有的S3工具和库无缝集成。MinIO的设计目标是高性能、高可用性和可扩展性。它可以在分布式模式下运行,以满足不同规模的存储需求。

MinIO是一个开源的软件,可以免费使用,还可以在普通硬件上运行,降低了存储成本,下面介绍在本地Docker中部署 MinIO 服务,并实现远程访问管理界面,节约云服务器运行成本.

Cpolar内网穿透提供了更高的安全性和隐私保护,通过使用加密通信通道,Cpolar技术可以确保数据传输的安全性,这为用户和团队提供了更可靠的保护,使他们能够放心地处理和存储敏感的工作内容。

文件存储方式对比:

服务器磁盘 开发便捷,成本低 扩展困难
分布式文件系统(开源:FastDFS、MinIO) 容易实现扩展 复杂度高
第三方存储(阿里云OSS、七牛云) 开发简单,功能强大,免维护 收费

1. Docker 部署MinIO

使用Docker方式部署,极大简化了安装步骤,根据官方安装文档,首先创建一个本地存放数据目录

`mkdir -p ~/minio/data` 

然后执行docker命令,一键运行minio容器,其中 ROOTNAME是登录管理界面的用户名,CHANGEME123是登录管理界面的密码,容器的端口映射到了本地的9000和9090端口,9090是web ui 界面的端口

`docker run \
   -p 9000:9000 \
   -p 9090:9090 \
   --name minio \
   -v ~/minio/data:/data \
   -e "MINIO_ROOT_USER=ROOTNAME" \
   -e "MINIO_ROOT_PASSWORD=CHANGEME123" \
   quay.io/minio/minio server /data --console-address ":9090"` 

运行成功后,输入docker ps 即可看到运行的minio容器

image-20231116131243694

2. 本地访问MinIO

运行成功后,打开浏览器,访问Linux 的9090端口,即可看到 MinIO,

image-20231116131737138

输入上面的用户名和密码即可登录,这样本地搭建和访问就完成啦,接下来安装Cpolar 实现远程访问

image-20231116131924077

3. Linux安装Cpolar

上面在本地成功部署了minio服务,并局域网访问成功,下面我们在Linux安装Cpolar内网穿透工具,通过cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
`curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash` 
  • 向系统添加服务
`sudo systemctl enable cpolar` 
  • 启动cpolar服务
`sudo systemctl start cpolar` 

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口 即:【http://局域网ip:9200】,使用cpolar账号登录(如没有账号,可以点击下面免费注册),登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

image-20231016143741228

4. 配置MinIO公网地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个minio的公网http地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:9090 (本地访问的地址)
  • 域名类型:免费选择随机域名
  • 地区:选择China

点击创建

image-20231116135025793

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

image-20231116135121816

5. 远程访问MinIO管理界面

使用上面的Cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到我们minio界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可发布到公网进行远程访问 !(新地址访问,需要重新登录一下)

image-20231116135340690

6. 固定MinIO公网地址

为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:crm.cpolar.cn),这样更显正式,便于流交协作。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20231116135554965

保留成功后复制保留成功的二级子域名的名称

image-20231116135630174

返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20231116135703555

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

image-20231116135759891

最后,我们使用固定的公网https地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以远程访问minio界面!!

image-20231116135901412

📑文章末尾

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue3新特性defineModel()便捷的双向绑定数据

官网介绍 传送门 配置 要求: 版本: vue > 3.4(必须!!!)配置:vite.config.js 使用场景和案例 使用场景:父子组件的数据双向绑定,不用emit和props的繁重代码 具体案例 代码实…

左侧交易 vs 右侧交易:哪种更适合新手投资者?

对于外汇市场的新手投资者,选择交易方式是个大课题。外汇市场上的交易方式多种多样,其中主要有两种:左侧交易和右侧交易。那么,这两种交易方式究竟如何呢?它们之间有何区别和优势?本文将为您一一解答。 一、…

MySQL进阶篇:索引(概述,结构,分类,语法,SQL性能分析,索引使用,设计原则)

目录 1.索引概述2.索引结构1.B树(多路平衡查找树)2.B树3.Hash1.特点2.存储引擎支持 4.选择B树作为InnoDB存储引擎索引结构的原因 3.索引分类1.聚集索引选取规则2.回表查询 4.索引语法1.创建索引2.查看索引3.删除索引 5.SQL性能分析1.SQL执行频率2.慢查询…

DiffMatch:扩散模型 + 图像配对 + 密集匹配,如何在一对图像之间建立像素级的对应关系?

DiffMatch:扩散模型 图像配对 密集匹配 提出背景效果检验密集匹配研究 网络结构如何使用概率方法来解决密集对应问题?去噪扩散模型如何生成或恢复数据?DiffMatch 如何找到两幅图像之间每个像素点的最佳匹配?如何寻找两个图像间最…

【论文阅读 SIGMOD18】Query-based Workload Forecasting for Self-Driving

Query-based Workload Forecasting for Self-Driving Database Management Systems My Summary ABSTRACT Autonomous DBMS的第一步就是能够建模并预测工作负载,以前的预测技术对查询的资源利用率进行建模。然而,当数据库的物理设计和硬件资源发生变化…

ssh: connect to host github.com port 22: Connection refused

ssh: connect to host github.com port 22: Connection refused 问题现象 本文以Windows系统为例进行说明,在个人电脑上使用Git命令来操作GitHub上的项目,本来都很正常,突然某一天开始,会提示如下错误ssh: connect to host gith…

【网站项目】基于ssm的青大校园预点餐系统

🙊作者简介:多年一线开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

C++类与对象(四):再谈构造函数(详解初始化列表)、Static成员

上次把默认的成员函数部分梳理完毕了:C初阶类与对象(三):详解复制构造函数和运算符重载 今天接着讲下面的内容: 文章目录 1.再谈构造函数1.1构造函数体赋值1.2初始化列表1.2.1格式和概念1.2.2由来情况1情况2 1.2.3特性…

浏览器插件:WebScraper基本用法和抓取页面内容(不会编程也能爬取数据)

Web Scraper 是一个浏览器扩展,用于从页面中提取数据(网页爬虫)。对于简单或偶然的需求非常有用,例如正在写代码缺少一些示例数据,使用此插件可以很快从类似的网站提取内容作为模拟数据。从 Chrome 的插件市场安装后,页面 F12 打开…

flink学习之水位线

什么是水位线 在事件时间语义下,我们不依赖系统时间,而是基于数据自带的时间戳去定义了一个时钟, 用来表示当前时间的进展。于是每个并行子任务都会有一个自己的逻辑时钟,它的前进是靠数 据的时间戳来驱动的。 我们可以把时钟也以…

【想要安利给所有人的开发工具】一款写笔记的工具——语雀

目录 📕开篇 ✍使用感受 👍语雀的常用功能 1、导出成图片 2、导出为PDF 3、代码的模块 4、流程图 ​5、画板类 6、程序员专用区 ​7、布局和样式 8、菜单栏的功能 9、其余功能(很多) 🚗为什么推荐语雀 &…

(二)CarPlay集成开发之苹果的iAP协议

文章目录 概要协议格式鉴权流程CarPlay中的iAP2协议应用小结 概要 iAP2协议是由苹果公司定义的一种数据通信协议,主要用于苹果设备认证外设,以及与外设数据交换的一种协议 协议格式 协议格式一共分为三种类型,分别为握手包,链路…

lattice Diamond Programmer程序下载

Lattice Diamond Programmer Diamond Programmer程序下载1 Diamond Programmer启动2 Diamond Programmer程序烧写3 Cannot Identify Device错误解决 Diamond Programmer程序下载 Diamond Programmer适用于Lattice公司的FPGA器件与CPLD器件的程序下载,其下载步骤如下…

如何才能拥有比特币 - 01 ?

如何才能拥有BTC 在拥有 BTC 之前我们要先搞明白 BTC到底保存在哪里?我的钱是存在银行卡里的,那我的BTC是存在哪里的呢? BTC到底在哪里? 一句话概括,BTC是存储在BTC地址中,而且地址是公开的,…

Python项目——搞怪小程序(PySide6+Pyinstaller)

1、介绍 使用python编写一个小程序,回答你是猪吗。 点击“是”提交,弹窗并退出。 点击“不是”提交,等待5秒,重新选择。 并且隐藏了关闭按钮。 2、实现 新建一个项目。 2.1、设计UI 使用Qt designer设计一个UI界面&#xff0c…

android 开发 W/TextToSpeech: speak failed: not bound to TTS engine

问题 笔者使用TTS(TextToSpeech)对于文本内容进行语音播报,控制台报错 android 开发 speak failed:not bound to TTS engine详细问题 笔者核心代码: import android.os.Bundle; import android.speech.tts.TextToSpeech; import android.speech.tts.…

react native Gradle的原国外地址、本地下载、国内阿里腾讯镜像三种下载配置

一、国外地址:(初始项目默认) 下载地址:https://services.gradle.org/distributions/ 文件地址见下图: 注意:这个地址下载十次就有九次是连接超时,建议换另外两种方法 二、下载到本地&#x…

LLM:ALiBi - 给注意力加上线性偏置

论文:https://arxiv.org/pdf/2108.12409.pdf 代码:https://github.com/ofirpress/attention_with_linear_biases 发表:2021 长度外推 参考:https://spaces.ac.cn/archives/9431#ALIBI 长度外推性是一个训练和预测的长度不一致…

tomcat原理模拟和tomcat优化

1、tomcat实现原理 servlet 没有主方法main,依赖tomcat才能运行,因为tomcat 有主方法main,由java编写 servlet中doGet和doPost方法属于非静态方法,只能依托new对象存在,tomcat无法new出来对象,因此tomcat…

手机与电脑更改IP地址怎么使用代理IP?

在现代互联网时代,代理IP已成为许多人日常生活和工作中不可或缺的一部分。通过代理IP,用户可以隐藏自己的真实IP地址,并获得更好的网络体验。本文将详细介绍如何在手机和电脑上更改IP地址并使用代理IP。 一、手机使用代理IP 1. 打开手机设置&…