使用Docker搭建minio的詳細(xì)圖文教程
一、docker配置鏡像源問(wèn)題
- docker國(guó)內(nèi)鏡像可能會(huì)無(wú)法使用,建議多配置數(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è)置密碼時(shí),3-8個(gè)字符,但是我使用"123456",容器運(yùn)行成功,但是無(wú)法訪問(wèn),停止容器(docker stop minio)刪除容器(docker rm minio),重新設(shè)置密碼
- 使用 虛擬機(jī)ip:9001訪問(wèn)
- springBoot集成的話,使用9000端口
查看minio
- 使用虛擬機(jī)ip:9001查看
1、新建Bucket
- 點(diǎn)擊左側(cè)Buckets
- 為Bucket取一個(gè)合適的名字
- 新建Bucket
2、 新建Access Key
- 點(diǎn)擊左側(cè) Access Keys,
- 記下Access Key 和 Secter Key
- 設(shè)置name
- 點(diǎn)擊create新建Browser
需要 Access Key 和 Secter Key 來(lái)訪問(wèn)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
命令 啟動(dòng)cpolar - 在瀏覽器使用 虛擬機(jī)ip:9200 訪問(wèn)cpolar
- 注冊(cè)用戶
- 返回登錄
- 點(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)部訪問(wèn),外部無(wú)法訪問(wèn)如果需要外部訪問(wèn)的話,此處需要改為 虛擬機(jī)ip:端口號(hào)
啟動(dòng)服務(wù)
sudo systemctl start cpolar
未停止服務(wù)的話,使用重啟服務(wù)
sudo systemctl restart cpolar
測(cè)試是否修改成功
如果在線隧道列表無(wú)隧道,前往隧道管理啟動(dòng)相應(yīng)隧道
SpringBoot集成使用
- 在pom中引入jar包
#低版本的okhttp會(huì)報(bào)錯(cuò)提示 <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>
- 上傳代碼測(cè)試
@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(); // 定義桶名和對(duì)象名稱 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("上傳測(cè)試成功........"); }catch (Exception e){ System.out.println("Error" + e); } }
- 提交報(bào)錯(cuò)(提示 請(qǐng)求時(shí)間和服務(wù)器時(shí)間之間的差異太大)
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同步時(shí)間
- 使用
yum install chronyd
安裝 - 啟用chronyd 服務(wù)
systemctl enable chronyd
- 啟動(dòng) chronyd 服務(wù)
systemctl start chronyd
- 同步時(shí)間
chronyc makestep
- 使用
date
檢查 (我再次檢查,發(fā)現(xiàn)時(shí)間依舊不對(duì),最后檢查發(fā)現(xiàn),時(shí)區(qū)未設(shè)置為上海) - 設(shè)置時(shí)區(qū)為上海
timedatectl set-timezone Asia/Shanghai
- 再次使用
date
檢查,時(shí)間調(diào)整成功 - 再次測(cè)試提交,測(cè)試成功
- 下載代碼測(cè)試
@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); } }
通過(guò)地址訪問(wèn)上傳內(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- docker安裝MinIO全過(guò)程
- Linux下使用Docker部署MinIO存儲(chǔ)服務(wù)實(shí)現(xiàn)遠(yuǎn)程上傳的方法
- Docker部署MinIO對(duì)象存儲(chǔ)服務(wù)器結(jié)合Cpolar實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)的操作方法
- docker搭建minio集群的實(shí)現(xiàn)示例
- Docker部署Minio的實(shí)現(xiàn)方法
- Docker?部署?Minio?對(duì)象存儲(chǔ)服務(wù)器的過(guò)程詳解
- Docker搭建Minio容器的流程步驟(完整詳細(xì)版)
- 單機(jī)docker-compose部署minio過(guò)程
- docker安裝MinIO全過(guò)程
- Docker部署MinIO鏡像的方法(保姆級(jí)教程)
相關(guān)文章
Docker跨服務(wù)器通信Overlay解決方案(上)之 Consul單實(shí)例
這篇文章主要介紹了Docker跨服務(wù)器通信Overlay解決方案(上)之 Consul單實(shí)例,本文通過(guò)場(chǎng)景分析實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12docker啟動(dòng)mysql及-e MYSQL_ROOT_PASSWORD=my-secret-pw問(wèn)題解決
本文主要介紹了docker啟動(dòng)mysql及-e MYSQL_ROOT_PASSWORD=my-secret-pw問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07Docker容器搭建運(yùn)行python的深度學(xué)習(xí)環(huán)境的方法
本文主要介紹了Docker容器搭建運(yùn)行python的深度學(xué)習(xí)環(huán)境的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10Docker鏡像拉取報(bào)錯(cuò):Error response from daemon: 
這篇文章主要介紹了Docker鏡像拉取報(bào)錯(cuò):Error response from daemon: Get https://registry-1.docker.io/v2/的問(wèn)題解決,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07在Idea中使用Docker部署SpringBoot項(xiàng)目的詳細(xì)步驟
這篇文章主要介紹了在Idea中使用Docker部署SpringBoot項(xiàng)目的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09docker-compose+nginx部署前后端分離的項(xiàng)目實(shí)踐
本文主要介紹了docker-compose?+?nginx部署前后端分離的項(xiàng)目,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03docker容器中無(wú)法獲取宿主機(jī)hostname的解決方案
這篇文章主要介紹了docker容器中無(wú)法獲取宿主機(jī)hostname的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03