当前位置: 首页 > news >正文

Docker部署Minio小记

概述

因为工作需要搭建对象存储的测试环境,故而使用Docker部署Minio,测试通过博文记录用以备忘

步骤

拉取镜像

docker pull minio/minio

启动容器


docker run -p 9000:9000 -p 9090:9090 \
 --name minio \
 -d --restart=always \
 -e "MINIO_ACCESS_KEY=admin" \
 -e "MINIO_SECRET_KEY=admin123" \
 -e "MINIO_REGION=cn-sz-1" \ #必须要加这句,不然会提示MissingRegion: could not find region configuration
 -v /minio/data:/data \
 minio/minio server \
 /data --console-address ":9090" -address ":9000"

创建AccessKey

1.登录Minio Web控制台
2.创建Access Keys -> Create access key
3.写代码测试

测试例子

package main

import (
	"bytes"
	"fmt"
	"log/slog"
	"net/http"
	"os"
	"time"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/credentials"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/s3"
)

var (
	bucket    = "test-bucket"
	accessKey = "OjoNSsmCfHfNo9Pn0s7B"
	secretKey = "jYJypIdww6WJz4PC5v3UjgRakzCmCm6YSF24UBB4"
	endpoint  = "http://127.0.0.1:9000"
	region    = "cn-sz-1"

	timeout time.Duration = time.Second * 5
)

func main() {
	sess, err := session.NewSession(&aws.Config{
		Credentials:      credentials.NewStaticCredentials(accessKey, secretKey, ""),
		Endpoint:         &endpoint,
		Region:           &region,
		S3ForcePathStyle: aws.Bool(true),
	})

	if err != nil {
		slog.Warn(fmt.Sprintf("create OSS Session Failure... err=%s", err.Error()))
		return
	}

	data, err := os.ReadFile("./test.go")
	_, err = s3.New(sess).PutObject(&s3.PutObjectInput{
		Bucket:      aws.String(bucket), // bucket name
		Key:         aws.String("test.go"),
		Body:        bytes.NewReader(data),
		ContentType: aws.String(http.DetectContentType(data)),
	})
	if err != nil {
		slog.Error(fmt.Sprintf("PUT err = %v", err))
	} else {
		slog.Info("Upload OK")
	}
}

参考链接

Docker部署minio详细步骤

相关文章:

  • C:技术面试总结
  • C# 实现腾讯云 IM 常用 REST API 之会话管理
  • 2024年华为OD机试真题-停车场车辆统计-C++-OD统一考试(C卷D卷)
  • 全栈式数据统计:SqlAlchemy怎样连接MsSql Server获取视图列表
  • 音视频开发5 补充 - Nginx搭建rtmp流媒体服务器,目的是让ffmpeg 可以直播推流
  • 编程实战:类C语法的编译型脚本解释器(三)插件(自定义函数)接口
  • 分享10个国内可以使用的GPT中文网站
  • Spring中的三级缓存和循环依赖
  • 玩转盲盒潮流:从0到1搭建小程序平台
  • “高考钉子户”唐尚珺决定再战2024年高考
  • 安装错误提示Please run MaterialLibrary2018.msi first或者其他MaterialLibrary版本
  • PostgreSQL用户与角色简述
  • 键盘盲打是练出来的
  • 状压dp 例题
  • 深入C++:深拷贝VS浅拷贝,编程高手必懂的技巧与陷阱
  • Spring Cloud 之 Gateway
  • 缪尔赛思又来到了你的面前(哈希)
  • 三台泵恒压供水站电控系统及PLC程序设计实例
  • 每日5题Day9 - LeetCode 41 - 45
  • git 查看远程分支地址
  • 腾讯重构混元大模型研发体系:成立大语言和多模态模型部,提升AI长期技术作战能力
  • 石家庄:城市更新,生活向美
  • 一周人物|卡鲁等入围英国特纳奖,李学明新展中国美术馆
  • 中国体育报关注徐梦桃、王曼昱、盛李豪等获评全国先进工作者:为建设体育强国再立新功
  • 普京发表声明感谢协助俄军收复库尔斯克州的朝鲜军人
  • 人社部:将会同更多部门分行业、分领域制定专项培训计划