0


使用Docker搭建minio

一、docker配置镜像源问题

  • docker国内镜像可能会无法使用,建议多配置数据源
  • 使用"i",进入编辑。使用"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
  • 创建容器并运行
docker run \-p9000:9000 \-p9001: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"

注意:

  • 设置密码时,3-8个字符,但是我使用"123456",容器运行成功,但是无法访问,停止容器(docker stop minio)删除容器(docker rm minio),重新设置密码
  • 使用 虚拟机ip:9001访问
  • springBoot集成的话,使用9000端口

查看minio

  • 使用虚拟机ip:9001查看
1、新建Bucket
  • 点击左侧Buckets
  • 为Bucket取一个合适的名字
  • 新建Bucket在这里插入图片描述
2、 新建Access Key
  • 点击左侧 Access Keys,
  • 记下Access Key 和 Secter Key
  • 设置name
  • 点击create新建Browser在这里插入图片描述 需要 Access Key 和 Secter Key 来访问Bucket

虚拟机下载安装Cpolar

  • 使用脚本一键安装
curl-L https://www.cpolar.com/static/downloads/install-release-cpolar.sh |sudobash

在这里插入图片描述

在这里插入图片描述

  • 安装成功,提示使用systemctl enable cpolar 命令和 systemctl start cpolar命令
  • 使用systemctl enable cpolar 命令 启用cpolar在这里插入图片描述
  • 使用 systemctl start cpolar命令 启动cpolar在这里插入图片描述
  • 在浏览器使用 虚拟机ip:9200 访问cpolar在这里插入图片描述
  • 注册用户在这里插入图片描述
  • 返回登录在这里插入图片描述
  • 点击左侧隧道管理,创建新隧道在这里插入图片描述
  • 点击在线隧道列表,查看新建隧道在这里插入图片描述- 由于后续安装的elasticsearch端口也为9200,故在此处贴上修改cpolar端口- 查看9200端口信息在这里插入图片描述- 停止正在运行的cpolar systemctl stop cpolar在这里插入图片描述- 使用 find / -name cpolar.yml 2>/dev/null 查看yml文件在这里插入图片描述- 查看官网教程在这里插入图片描述- 执行vi /usr/local/etc/cpolar/cpolar.yml在这里插入图片描述- 添加配置client_dashboard_addr: 127.0.0.1:9300,注意,官网修改只能虚拟机内部访问,外部无法访问在这里插入图片描述- 如果需要外部访问的话,此处需要改为 虚拟机ip:端口号在这里插入图片描述- 启动服务sudo systemctl start cpolar- 未停止服务的话,使用重启服务sudo systemctl restart cpolar- 测试是否修改成功在这里插入图片描述- 如果在线隧道列表无隧道,前往隧道管理启动相应隧道

SpringBoot集成使用

  • 在pom中引入jar包
#低版本的okhttp会报错提示         <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>
  • 上传代码测试
@Testvoiduploadtest(){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);}}
  • 提交报错(提示 请求时间和服务器时间之间的差异太大)
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)
  • 在虚拟机使用chronyd同步时间
  • 使用 yum install chronyd安装
  • 启用chronyd 服务 systemctl enable chronyd
  • 启动 chronyd 服务 systemctl start chronyd
  • 同步时间 chronyc makestep
  • 使用 date 检查 (我再次检查,发现时间依旧不对,最后检查发现,时区未设置为上海)
  • 设置时区为上海 timedatectl set-timezone Asia/Shanghai
  • 再次使用 date 检查,时间调整成功在这里插入图片描述
  • 再次测试提交,测试成功在这里插入图片描述
  • 下载代码测试
@TestvoiddownLoad(){try{String endPoint ="8.tcp.cpolar.top";int port =13981;String accessKey ="YsBvivSZUGsRLfqL2JXL";String secretKey ="yuLLwPoxFjUUvn45bQ3rwmH49Pf8wGFGkZTpNGXa";// 创建 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);}}

在这里插入图片描述

通过地址访问上传内容

  • 点击自己的bucket
  • 设置自己的bucket为公开在这里插入图片描述
  • 点击Access Policy后面的小铅笔或者下面的public在这里插入图片描述
  • 从private改为publlic在这里插入图片描述
  • 查看上传的文件地址在这里插入图片描述
  • 浏览器输入 虚拟机ip:9000/ 上传的文件地址在这里插入图片描述
标签: docker java

本文转载自: https://blog.csdn.net/LjH01250/article/details/141297679
版权归原作者 上官小弑 所有, 如有侵权,请联系我们删除。

“使用Docker搭建minio”的评论:

还没有评论