使用Docker搭建minio的詳細(xì)圖文教程
一、docker配置鏡像源問題
- docker國內(nèi)鏡像可能會無法使用,建議多配置數(shù)據(jù)源
- 使用"i",進(jìn)入編輯。使用"ESC"->":wq"保存并退出
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://4xxwxhl6.mirror.aliyuncs.com","https://mirror.iscas.ac.cn","https://docker.rainbond.cc","https://docker.nju.edu.cn","https://6kx4zyno.mirror.aliyuncs.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://dockerproxy.com"]
}
二、docker拉取鏡像
- 切換用戶至root
- 拉取鏡像源
docker pull minio/minio
- 配置掛載目錄和上傳文件目錄
mkdir -p /opt/minio/config mkdir -p /opt/minio/data
- 創(chuàng)建容器并運(yùn)行
docker run \ -p 9000:9000 \ -p 9001:9001 \ --net=host \ --name minio \ -d --restart=always \ -e "MINIO_ACCESS_KEY=minio" \ -e "MINIO_SECRET_KEY=minio123" \ -v /opt/minio/data:/data \ -v /opt/minio/config:/root/.minio \ minio/minio server \ /data --console-address ":9001" -address ":9000"
注意:
- 設(shè)置密碼時,3-8個字符,但是我使用"123456",容器運(yùn)行成功,但是無法訪問,停止容器(docker stop minio)刪除容器(docker rm minio),重新設(shè)置密碼
- 使用 虛擬機(jī)ip:9001訪問
- springBoot集成的話,使用9000端口
查看minio
- 使用虛擬機(jī)ip:9001查看
1、新建Bucket
- 點(diǎn)擊左側(cè)Buckets
- 為Bucket取一個合適的名字
- 新建Bucket

2、 新建Access Key
- 點(diǎn)擊左側(cè) Access Keys,
- 記下Access Key 和 Secter Key
- 設(shè)置name
- 點(diǎn)擊create新建Browser

需要 Access Key 和 Secter Key 來訪問Bucket
虛擬機(jī)下載安裝Cpolar
- 使用腳本一鍵安裝
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash


- 安裝成功,提示使用
systemctl enable cpolar命令和systemctl start cpolar命令 - 使用
systemctl enable cpolar命令 啟用cpolar
- 使用
systemctl start cpolar命令 啟動cpolar
- 在瀏覽器使用 虛擬機(jī)ip:9200 訪問cpolar

- 注冊用戶

- 返回登錄

- 點(diǎn)擊左側(cè)隧道管理,創(chuàng)建新隧道

- 點(diǎn)擊在線隧道列表,查看新建隧道

由于后續(xù)安裝的elasticsearch端口也為9200,故在此處貼上修改cpolar端口
查看9200端口信息

停止正在運(yùn)行的cpolar
systemctl stop cpolar
使用
find / -name cpolar.yml 2>/dev/null查看yml文件
查看官網(wǎng)教程

執(zhí)行
vi /usr/local/etc/cpolar/cpolar.yml
添加配置
client_dashboard_addr: 127.0.0.1:9300,注意,官網(wǎng)修改只能虛擬機(jī)內(nèi)部訪問,外部無法訪問
如果需要外部訪問的話,此處需要改為 虛擬機(jī)ip:端口號

啟動服務(wù)
sudo systemctl start cpolar未停止服務(wù)的話,使用重啟服務(wù)
sudo systemctl restart cpolar測試是否修改成功

如果在線隧道列表無隧道,前往隧道管理啟動相應(yīng)隧道
SpringBoot集成使用
- 在pom中引入jar包
#低版本的okhttp會報(bào)錯提示
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.5.7</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.10.0</version>
</dependency>
- 上傳代碼測試
@Test
void uploadtest(){
try{
String endPoint = "8.tcp.cpolar.top";
int port = 13981;
String accessKey = "YsBvivSZUGsRLfqL2JXL";
String secretKey = "yuLLwPoxFjUUvn45bQ3rwmH49Pf8wGFGkZTpNGXa";
MinioClient minioClient = MinioClient.builder()
.endpoint(endPoint,port,false)
.credentials(accessKey,secretKey)
.build();
// 定義桶名和對象名稱
String bucketName = "gulimall";
String objectName = "test.jpg";
String filePath = "E:\\uploadFile\\gulimall/p23.png"; // 本地文件路徑
minioClient.uploadObject(
UploadObjectArgs.builder()
.bucket(bucketName)
.object(objectName)
.filename(filePath)
.build());
System.out.println("上傳測試成功........");
}catch (Exception e){
System.out.println("Error" + e);
}
}
- 提交報(bào)錯(提示 請求時間和服務(wù)器時間之間的差異太大)
Errorerror occurred ErrorResponse(code = RequestTimeTooSkewed, message = The difference between the request time and the server's time is too large., bucketName = null, objectName = null, resource = /gulimall, requestId = 17EC67767F4197ED, hostId = dd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8)
- 在虛擬機(jī)使用chronyd同步時間
- 使用
yum install chronyd安裝 - 啟用chronyd 服務(wù)
systemctl enable chronyd - 啟動 chronyd 服務(wù)
systemctl start chronyd - 同步時間
chronyc makestep - 使用
date檢查 (我再次檢查,發(fā)現(xiàn)時間依舊不對,最后檢查發(fā)現(xiàn),時區(qū)未設(shè)置為上海) - 設(shè)置時區(qū)為上海
timedatectl set-timezone Asia/Shanghai - 再次使用
date檢查,時間調(diào)整成功
- 再次測試提交,測試成功

- 下載代碼測試
@Test
void downLoad(){
try {
String endPoint = "8.tcp.cpolar.top";
int port = 13981;
String accessKey = "YsBvivSZUGsRLfqL2JXL";
String secretKey = "yuLLwPoxFjUUvn45bQ3rwmH49Pf8wGFGkZTpNGXa";
// 創(chuàng)建 MinIO 客戶端
MinioClient minioClient = MinioClient.builder()
.endpoint(endPoint,port,false)
.credentials(accessKey, secretKey)
.build();
String bucketName = "gulimall";
String objectName = "test.jap";
String filePath = "E:\\downloadFile\\gulimall/p23.png"; // 本地文件路徑
// 下載文件
minioClient.downloadObject(
DownloadObjectArgs.builder()
.bucket(bucketName)
.object(objectName)
.filename(filePath)
.build()
);
System.out.println("文件下載成功: " + filePath);
} catch (Exception e) {
System.out.println("Error occurred: " + e);
}
}

通過地址訪問上傳內(nèi)容
- 點(diǎn)擊自己的bucket
- 設(shè)置自己的bucket為公開

- 點(diǎn)擊Access Policy后面的小鉛筆或者下面的public

- 從private改為publlic

- 查看上傳的文件地址

- 瀏覽器輸入 虛擬機(jī)ip:9000/ 上傳的文件地址

總結(jié)
到此這篇關(guān)于使用Docker搭建minio的文章就介紹到這了,更多相關(guān)Docker搭建minio內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- docker安裝MinIO全過程
- Linux下使用Docker部署MinIO存儲服務(wù)實(shí)現(xiàn)遠(yuǎn)程上傳的方法
- Docker部署MinIO對象存儲服務(wù)器結(jié)合Cpolar實(shí)現(xiàn)遠(yuǎn)程訪問的操作方法
- docker搭建minio集群的實(shí)現(xiàn)示例
- Docker部署Minio的實(shí)現(xiàn)方法
- Docker?部署?Minio?對象存儲服務(wù)器的過程詳解
- Docker搭建Minio容器的流程步驟(完整詳細(xì)版)
- 單機(jī)docker-compose部署minio過程
- docker安裝MinIO全過程
- Docker部署MinIO鏡像的方法(保姆級教程)
相關(guān)文章
Docker中Kafka容器創(chuàng)建/更新Topic支持多分區(qū)實(shí)現(xiàn)方式
本文詳細(xì)介紹了如何在Docker中部署和配置Kafka,并通過腳本檢測和更新Topic的分區(qū)數(shù),如果Topic已經(jīng)存在,則將其分區(qū)數(shù)更新為5個;如果不存在,則新建一個名為http_capture的Topic2025-12-12
Docker實(shí)現(xiàn)自定義jkd鏡像上傳阿里云
本文詳解基于Ubuntu構(gòu)建JDK8自定義Docker鏡像及上傳至阿里云倉庫的流程,涵蓋Dockerfile編寫、鏡像構(gòu)建、容器運(yùn)行、環(huán)境變量配置,以及阿里云賬戶準(zhǔn)備、鏡像推送與測試等關(guān)鍵步驟2025-08-08
docker搭建kafka集群的方法實(shí)現(xiàn)
本文主要介紹了docker搭建kafka集群的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
docker /var/lib/docker/aufs/mnt 目錄清理方法
在本篇文章里小編給各位整理的是關(guān)于docker /var/lib/docker/aufs/mnt 目錄清理方法,有需要的朋友們可以參考下。2020-03-03
docker-compose如何定義一個橋接網(wǎng)絡(luò),并為該網(wǎng)絡(luò)配置一個IP地址池
在DockerCompose中定義橋接網(wǎng)絡(luò)并配置IP地址池,可以實(shí)現(xiàn)服務(wù)的自動IP地址分配,通過定義網(wǎng)絡(luò)、指定子網(wǎng)范圍、設(shè)置網(wǎng)關(guān)和啟用自動分配功能,可以輕松管理服務(wù)的網(wǎng)絡(luò)配置,確保IP地址在子網(wǎng)范圍內(nèi)且不與其他網(wǎng)絡(luò)沖突,以避免網(wǎng)絡(luò)沖突2025-01-01
Docker安裝MongoDB的過程(mongo.latest)
MongoDB是一種高性能、靈活的數(shù)據(jù)庫,特別適合處理大量非結(jié)構(gòu)化數(shù)據(jù),它采用文檔數(shù)據(jù)模型,支持復(fù)雜的數(shù)據(jù)結(jié)構(gòu),提供類似面向?qū)ο蟮牟樵冋Z言,本文給大家介紹Docker安裝MongoDB的過程(mongo.latest),感興趣的朋友一起看看吧2024-11-11
宿主機(jī)無法訪問docker容器中nginx服務(wù)的問題解決
在虛擬機(jī)中部署Docker并安裝Nginx后,宿主機(jī)無法訪問容器內(nèi)的Nginx服務(wù),通過檢查端口映射、防火墻狀態(tài)、進(jìn)入容器內(nèi)部啟動Nginx以及檢查/修改內(nèi)核的IP轉(zhuǎn)發(fā)設(shè)置,解決了該問題,感興趣的可以了解一下2024-11-11

