Docker:docker部署Minio服务并创建访问密钥

前言

Minio 是一个基于Apache License v2.0开源协议的对象存储服务,虽然轻量,却拥有着不错的性能。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几 kb 到最大 5T 不等;最重要的是免费!!!

镜像下载

查询镜像

docker search minio

这里我选的是 bitnami/minio:2024.7.4 版本的镜像。

下载镜像

docker pull bitnami/minio:2024.7.4

 

 构建容器

创建挂载目录

创建存放配置和存储数据的目录,用于将容器内的数据挂载到宿主机

## 创建存放minio配置文件的目录
mkdir -p /home/minio/config
## 创建存放minio存储数据的目录
mkdir -p /home/minio/data

映射目录赋权

# 一定要把文件夹都先创建好,不然容器启动后容器创建的用户组和权限都会是root,而不是1001,导致启动失败
# 赋权
chown -R 1001:1001 /home/minio

普通命令构建

docker run \
-p 9000:9000 \
-p 9010:9001 \
--net=host \
--name minio \
-td --restart always \
--privileged=true \
-e "MINIO_ROOT_USER=minioadmin" \
-e "MINIO_ROOT_PASSWORD=minioadmin" \
-v /etc/localtime:/etc/localtime:ro \
-v /home/minio/data:/bitnami/minio/data \
-v /home/minio/config:/root/.minio \
 bitnami/minio:2024.7.4
命令 说明
-p 9000:9000 这是minio的API接口端口映射
-p 9010:9001 这是minio的客户端浏览器页面访问端口映射,由于9001与mqtt服务的端口冲突,所以这里使用9010做的映射
--net=host 这是网络设置,表示容器将使用主机的网络栈
--name minio 自定义容器名称
-d --restart=always -d 使容器在后台运行,–restart=always 表示容器总是会在退出后自动重启
-e "MINIO_ROOT_USER=minio"  设置用户名
-e "MINIO_ROOT_PASSWORD=minioadmin"  设置密码,密码长度最少8位,否则会报错!!!!!
-v /etc/localtime:/etc/localtime:ro 同步宿主机的时间
-v /home/minio/data:/bitnami/minio/data  映射minio存储的数据文件到宿主机目录
-v /home/minio/config:/root/.minio  映射minio的配置文件到宿主机目录

Docker-Compose命令构建

version: "3.8"
networks:
  my_net:
    name: my_net
    ipam:
      config:
        - subnet: 172.19.8.0/24
services:
  minio:
    container_name: my-minio
    image: bitnami/minio:2024.7.4
    restart: always
    privileged: true
    environment:
      MINIO_ROOT_USER: minio
      MINIO_ROOT_PASSWORD: minioadmin
    ports:
      - 9000:9000
      - 9010:9001
    networks:
      my_net:
        ipv4_address: 172.19.8.106
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /home/minio/config:/root/.minio
      - /home/minio/data:/bitnami/minio/data

访问页面

访问:http://127.0.0.1:9010  用户名:minio  密码:minioadmin

创建用户

创建用户

创建用户组

用户组就是用于管理用户的群组

创建存储桶

存储桶可以理解为就是存储我们文件的空间

点击新建的存储桶,修改Access Policy的访问策略。

创建Access Keys

创建minio的API接口访问密钥

记得保存好生成的密钥信息,编写代码访问minio的API接口使用的就是这个密钥对

至此,部署及操作完成!

posted @ 2024-07-11 08:52  怒吼的萝卜  阅读(1068)  评论(4编辑  收藏  举报