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接口使用的就是这个密钥对
至此,部署及操作完成!
-----------------------------------
作者:怒吼的萝卜
链接:http://www.cnblogs.com/nhdlb/
-----------------------------------