docker搭建MinIo

安装流程

  1. 拉取最新的minio镜像
docker pull minio/minio

指定minio版本镜像

docker pull minio/minio:RELEASE.2022-06-20T23-13-45Z.fips
  1. 创建目录
mkdir -p /home/minio/config
mkdir -p /home/minio/data
  1. 运行容器
    MINIO_ACCESS_KEY:登录名
    MINIO_SECRET_KEY:登录密码
    (账号长度必须大于等于5,密码长度必须大于等于8位)
docker run -p 9000:9000 -p 9090:9090 \
     --net=host \
     --name minio \
     -d --restart=always \
     -e "MINIO_ACCESS_KEY=minioadmin" \
     -e "MINIO_SECRET_KEY=minioadmin" \
     -v /home/minio/data:/data \
     -v /home/minio/config:/root/.minio \
     minio/minio server \
     /data --console-address ":9090" -address ":9000"
  1. 设置容器自启
docker update --restart=always 3b84

image

  1. 访问9000端口

image

image
6. 创建用户
image
7. 创建组
image

image

  1. 创建accessKey和secretKey

image
文件内容如下,保存文件,SDK操作文件的API需要用到
{"url":"http://192.168.124.132:9000","accessKey":"XO1JDovW2FTmGaBb","secretKey":"uG6wMfylUnOVH5WzwxqnldOWw2dMshNX","api":"s3v4","path":"auto"}

9.创建Bucket

image
上传对象
image
image

使用SDK

进入java SDK页面
image

package com.hxut.mrs;

import io.minio.BucketExistsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
import io.minio.UploadObjectArgs;
import io.minio.errors.MinioException;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;

/**
 * description: MinIoTest
 * date: 2023/2/24 22:37
 * author: MR.孙
 */
@SpringBootTest
public class MinIoTest {


    @Test
    void testUpload() {
        try {
            // Create a minioClient with the MinIO server playground, its access key and secret key.
            MinioClient minioClient =
                    MinioClient.builder()
                            .endpoint("http://192.168.187.129:9000")
                            .credentials("STGFYJUQZ7OOWMWXY294", "092IuH6BrTQuoKPuK7lfoTCet6eYGxeYJOG4njoB")
                            .build();

            // Make 'asiatrip' bucket if not exist.
            boolean found =
                    minioClient.bucketExists(BucketExistsArgs.builder().bucket("public").build());
            if (!found) {
                // Make a new bucket called 'asiatrip'.
                minioClient.makeBucket(MakeBucketArgs.builder().bucket("public").build());
            } else {
                System.out.println("Bucket 'public' already exists.");
            }

            // Upload '/home/user/Photos/asiaphotos.zip' as object name 'asiaphotos-2015.zip' to bucket
            // 'asiatrip'.
            minioClient.uploadObject(
                    UploadObjectArgs.builder()
                            .bucket("public")
                            .object("credentials.json")
                            .filename("D:\\download\\credentials.json")
                            .build());
            System.out.println(
                    "D:\\download\\credentials.json  is successfully uploaded!");
        } catch (MinioException | InvalidKeyException | IOException | NoSuchAlgorithmException e) {
            System.out.println("Error occurred: " + e);

        }
    }

}

image

posted @ 2023-02-24 22:50  长情c  阅读(415)  评论(0)    收藏  举报