docker 安装 并测试 minio

docker 安装 minio

1. 下载minio

docker pull minio/minio

2. 检查当前下载的所有镜像

docker images

3. 创建目录

(1)存放配置

mkdir -p /usr/myapp/minio/config

(2)存储上传文件的目录

mkdir -p /usr/myapp/minio/data

4. 创建minio容器并运行

docker run -d \
--name minio \
--restart=always \
-p 9000:9000 \
-p 9001:9001 \
--privileged=true \
-e "MINIO_ROOT_USER=maple" \
-e "MINIO_ROOT_PASSWORD=qwe123..." \
-v /usr/myapp/minio/data:/data \
-v /usr/myapp/minio/config:/root/.minio \
minio/minio server \
--console-address ":9000" \
--address ":9001" /data

第一个 -p 9000:9000是宿主机(物理机)端口号;第二个 -p 9001“9001是容器内的端口号

​ =====> 目的是为了让外部访问容器内的服务时,可以通过宿主机的端口进行访问

MINIO_ACCESS_KEY:账号(长度 ≥ 5 位)

MINIO_SECRET_KEY:密码(长度 ≥ 8 位)

5. 测试minio是否安装成功

虚拟机地址 + 端口号(9000)
http://192.168.101.129:9000/

6. 登录进去minio之后

(1)创建一个 Bucket

new-bucket

这里命名的名字,不要太复杂,因为上传文件的时候用得到

rename

(2)创建一个 Access Key

newAccessKey

点击create

clickCreate

复制它俩 Access Key 与 Secret Key,把它们复制进记事本里,等会儿测试的时候需要用到它俩

copy

(3)开始编写测试文件

新建一个maven项目,因为需要导入maven依赖,如下是 pom.xml

  <dependencies>
        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp</artifactId>
            <version>4.9.0</version>
        </dependency>

        <dependency>
            <groupId>io.minio</groupId>
            <artifactId>minio</artifactId>
            <version>8.4.2</version>
            <exclusions>
                <exclusion>
                    <artifactId>okhttp</artifactId>
                    <groupId>com.squareup.okhttp3</groupId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

以下是Java代码(只需要一个main方法就够了):

package net.ibp;

import io.minio.BucketExistsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
import io.minio.UploadObjectArgs;
import io.minio.errors.MinioException;

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

public class FileUploader {

    public static void main(String[] args) throws IOException, NoSuchAlgorithmException, InvalidKeyException {
        try {
            // Create a minioClient with the MinIO server playground, its access key and secret key.
            MinioClient minioClient =
                    MinioClient.builder()
                            .endpoint("http://192.168.101.129:9001")//这里的ip和端口就是你访问minio的ip,端口号是刚才安装minio时配置的 9001,而并非物理机访问的端口号
                            .credentials("U4J107ZkgoLxreaxs9hT", "fUGpLNKhKEMnPuzftCF4mTslK6CIYFJ6m74nxxWu")//这里的accessKey和secretKey就是我刚才让你复制保存的东西
                            .build();

            // Make 'photos' bucket if not exist.
            boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket("photos").build());//这里的photos就是让你刚才新建Bucket时的名字,让你不要起复杂的原因就在这里
            if (!found) {
                // Make a new bucket called 'photos'.
                minioClient.makeBucket(MakeBucketArgs.builder().bucket("photos").build());//这里也是桶(Bucket)的名字
            } else {
                System.out.println("Bucket 'photos' already exists.");//这里也是桶的名字
            }

            // Upload '/home/user/Photos/asiaphotos.zip' as object name 'asiaphotos-2015.zip' to bucket
            // 'asiatrip'.
            minioClient.uploadObject(
                    UploadObjectArgs.builder()
                            .bucket("photos")//这里也是桶的名字
                            .object("flower.png")//这里是要上传文件的名字
                            .filename("E:\\Maple\\Pictures\\Saved Pictures\\flower.png")//上传的文件的路径
                            .build());
            System.out.println("'E:\\Maple\\Pictures\\Saved Pictures\\flower.png' is successfully uploaded as " + "object 'flower.png' to bucket 'photos'.");//这里的路径名、文件名和桶的名字别忘了改成你自己的
        } catch (MinioException e) {
            System.out.println("Error occurred: " + e);
            System.out.println("HTTP trace: " + e.httpTrace());
        }
    }
}

(4)上传成功

upload-success

(5)在minio中查看

show-upload

进去之后点击刷新(refresh)

refresh

至此结束!!!
​ 于此,谢君观之。若君 兴之所至,观之文末,有谏言者,吾便从谏如流。
书也,吾当复观之,亦采之;语也,吾当俯身倾耳以请,而不负其烦也,亦改之。
止于此,IT之路道阻且长,其术业之迭新亦疾,吾等须相扶相持,始得斯道愈行愈远,愿诸君共勉之~~~

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值