zoukankan      html  css  js  c++  java
  • docker minio部署和应用

    docker minio部署和应用

    MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
    MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。

    前提条件

    单点模式

    • 此处自定义Access和Secret秘钥,默认值为minioadmin/minioadmin。
    # docker pull minio/minio
    # docker run -di -p 9000:9000 --name minio1 
    --restart=always 
    -e "MINIO_ACCESS_KEY=minioadmin123"  
    -e "MINIO_SECRET_KEY=minioadmin123" 
    -v /mnt/data:/data 
    -v /mnt/config:/root/.minio 
    -v /etc/localtime:/etc/localtime 
    minio/minio:RELEASE.2020-05-08T02-40-49Z server /data
    # firewall-cmd --zone=public --add-port=9000/tcp --permanent //开放端口
    # firewall-cmd --reload
    

    Docker Compose单机多容器

    下载docker-compose.yml并根据本地情节编辑后,上传至服务器当前工作目录,Docker Compose会pull MinIO Docker Image,所以你不需要手动去下载MinIO binary。然后运行下面的命令:
    # docker-compose pull
    # docker-compose up
    

    Swarm mode多机多容器

    Kubernetes多机多容器

    未完待续...

    文件上传并设置bucket策略

    1. 登录Minio Browser页面后,如下图:
    2. 点击页面加号ICON,点击Create bucket ICON
    3. 点击上传文件ICON
    4. 设置文件策略,在左侧bucket上编辑Edit Policy,设置访问前缀为或者.*,选择策略为Read Only/Write Only/Read and Write。

    mc 客户端

    常用命令
    命令 解释
    ks 列出文件和文件夹
    mb 创建一个存储桶或一个文件夹
    cat 显示文件和对象内容
    pipe 将一个STDIN重定向到一个对象或者文件或者STDOUT
    share 生成用于共享的URL
    cp 拷贝文件和对象
    mirror 给存储桶和文件夹做镜像
    find 基于参数查找文件
    diff 对两个文件夹或者存储桶比较差异
    rm 删除文件和对象
    events 管理对象通知
    watch 监听文件和对象的事件
    policy 管理访问策略
    session 为cp命令管理保存的会话
    config 管理mc配置文件
    update 检查软件更新
    version 输出版本信息
    配置mc命令客户端并设置bucket策略
    # docker pull minio/mc //拉取mc客户端镜像
    # docker run -it --entrypoint=/bin/sh minio/mc // 运行
    # mc config host add minio2 http://宿主机IP:9000 minioadmin minioadmin --api s3v4
    # mc policy set public minio2/testabc //设置访问权限
    # docker attach 容器ID //从新进入容器
    
    • 权限4种:none, download, upload, public
    • mc命令方式和Minio浏览器上设置策略二选一

    运维问题

    1、The difference between the request time and the server's time is too large?
    原因:linux服务器时区的问题
    解决方案:调整系统时间和硬件时间
    # date //查看系统时间
    # hwclock //查看硬件时间
    # yum -y install ntp ntpdate //安装ntpdate时间同步工具
    # ntpdate cn.pool.ntp.org  //设置系统时间与网络时间同步
    # hwclock --systohc  //将系统时间写入硬件时间
    

    注意事项

    1、bucket名称只包含小写字符和数字,不能含有特殊字符(_ -)。
  • 相关阅读:
    JAVA多线程实现和应用总结
    大话程序猿眼里的高并发
    重写Dijkstra
    再做一遍floyed
    优美的二分模型
    ACwing : 798. 差分矩阵
    ACwing_789. 数的范围
    快速排序超级强的模板
    1829:【02NOIP提高组】自由落体
    【02NOIP提高组】均分纸牌
  • 原文地址:https://www.cnblogs.com/lenovo_tiger_love/p/12855903.html
Copyright © 2011-2022 走看看