【linux】(23)对象存储服务-MinIo

MinIO 是一个高性能的对象存储服务,兼容 Amazon S3 API。

Docker安装MinIo

前提条件

确保您的系统已经安装了 Docker。如果还没有安装 Docker,可以参考 Docker 官方文档进行安装。

1. 拉取 MinIO Docker 镜像

首先,从 Docker Hub 拉取 MinIO 的官方 Docker 镜像:

sh 复制代码
docker pull minio/minio

2. 创建数据目录

为了持久化存储数据,需要在主机上创建一个目录来存放 MinIO 数据:

sh 复制代码
mkdir -p /mnt/data/minio

3. 运行 MinIO 容器

使用以下命令启动 MinIO 容器:

sh 复制代码
docker run -d --name minio \
  -p 9000:9000 \
  -p 9001:9001 \
  -v /mnt/sda/docker/minio:/data \
  -e "MINIO_ROOT_USER=wuss" \
  -e "MINIO_ROOT_PASSWORD=wu123abc." \
  minio/minio server /data --console-address ":9001"

解释:

  • -d:以后台模式运行容器。
  • --name minio:为容器指定名称 minio
  • -p 9000:9000:将主机的端口 9000 映射到容器的端口 9000(MinIO API 端口)。
  • -p 9001:9001:将主机的端口 9001 映射到容器的端口 9001(MinIO 控制台端口)。
  • -v /mnt/data/minio:/data:将主机的 /mnt/data/minio 目录挂载到容器的 /data 目录,以持久化存储数据。
  • -e "MINIO_ROOT_USER=admin":设置 MinIO 的 root 用户名。
  • -e "MINIO_ROOT_PASSWORD=admin123":设置 MinIO 的 root 用户密码。
  • minio/minio:使用 MinIO Docker 镜像。
  • server /data --console-address ":9001":启动 MinIO 服务器并指定数据目录和控制台地址。
    在这里插入图片描述

4. 访问 MinIO 控制台

启动容器后,您可以通过浏览器访问 MinIO 控制台:

  • 控制台地址:http://YOUR_SERVER_IP:9001
  • 使用您在环境变量中设置的 root 用户名和密码(例如 adminadmin123)登录。

5. 验证 MinIO API

您还可以通过 MinIO API 端口访问对象存储服务:

  • API 地址:http://YOUR_SERVER_IP:9000

6. 管理和使用 MinIO

登录到 MinIO 控制台后,您可以创建存储桶、上传文件、管理用户和策略等。

示例 Docker Compose 文件(可选)

如果您更喜欢使用 Docker Compose 来管理容器,可以创建一个 docker-compose.yml 文件:

yaml 复制代码
version: '3.8'

services:
  minio:
    image: minio/minio
    container_name: minio
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: admin123
    volumes:
      - /mnt/data/minio:/data
    command: server /data --console-address ":9001"

然后使用以下命令启动 MinIO 服务:

sh 复制代码
docker-compose up -d

Ubuntu安装MinIo

1. 更新系统包

首先,确保您的系统包是最新的:

sh 复制代码
sudo apt update
sudo apt upgrade -y

2. 下载 MinIO 二进制文件

从 MinIO 官方网站下载最新的 MinIO 服务器二进制文件:

sh 复制代码
wget https://dl.min.io/server/minio/release/linux-amd64/minio

3. 安装 MinIO

将下载的 MinIO 二进制文件移动到 /usr/local/bin 目录,并赋予执行权限:

sh 复制代码
sudo mv minio /usr/local/bin/
sudo chmod +x /usr/local/bin/minio

4. 创建数据目录

为 MinIO 创建一个数据目录:

sh 复制代码
sudo mkdir -p /mnt/data/minio

5. 创建 MinIO 用户(可选)

为了安全起见,您可以创建一个专门用于运行 MinIO 的用户:

sh 复制代码
sudo useradd -r minio-user -s /sbin/nologin

然后将数据目录的所有权设置为 minio-user

sh 复制代码
sudo chown -R minio-user:minio-user /mnt/data/minio

6. 创建 MinIO 服务文件

创建一个 systemd 服务文件,以便管理 MinIO 服务:

sh 复制代码
sudo nano /etc/systemd/system/minio.service

添加以下内容:

ini 复制代码
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target

[Service]
User=minio-user
Group=minio-user
EnvironmentFile=-/etc/default/minio
ExecStart=/usr/local/bin/minio server /mnt/data/minio --console-address ":9001"
Restart=always
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

7. 创建环境变量文件

创建一个环境变量文件,以便设置 MinIO 的配置:

sh 复制代码
sudo nano /etc/default/minio

添加以下内容:

sh 复制代码
# MinIO 环境变量

# MinIO 访问密钥和密钥
MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=admin123

# MinIO 数据目录
MINIO_VOLUMES="/mnt/data/minio"

# MinIO 控制台地址
MINIO_OPTS="--console-address :9001"

8. 启动并启用 MinIO 服务

重新加载 systemd 配置,并启动和启用 MinIO 服务:

sh 复制代码
sudo systemctl daemon-reload
sudo systemctl start minio
sudo systemctl enable minio

9. 验证 MinIO 运行状态

检查 MinIO 服务的状态,确保其正常运行:

sh 复制代码
sudo systemctl status minio

10. 访问 MinIO 控制台

启动 MinIO 服务后,您可以通过浏览器访问 MinIO 控制台:

  • 控制台地址:http://YOUR_SERVER_IP:9001
  • 使用您在环境变量中设置的 root 用户名和密码(例如 adminadmin123)登录。

11. 配置防火墙(可选)

如果您的 Ubuntu 系统启用了 UFW 防火墙,请确保允许 MinIO 端口通过防火墙:

sh 复制代码
sudo ufw allow 9000
sudo ufw allow 9001
相关推荐
BAOYUCompany31 分钟前
暴雨服务器更懂人工智能+
运维·服务器·人工智能
一只小bit39 分钟前
Linux网络:阿里云轻量级应用服务器配置防火墙模板开放端口
linux·网络·阿里云
嘉琪0011 小时前
实现视频实时马赛克
linux·前端·javascript
SpiderPex1 小时前
GitHub下载项目完整配置SSH步骤详解
运维·ssh·github
帽儿山的枪手2 小时前
HVV期间,如何使用SSH隧道绕过内外网隔离限制?
linux·网络协议·安全
睡觉的时候不会困2 小时前
基于三台主机搭建 Web 服务环境:Nginx、NFS 与 DNS 配置全流程
运维·nginx
@半良人3 小时前
Jenkins流水线部署+webhook2.0
运维·jenkins
邹诗钰-电子信息工程3 小时前
嵌入式基础知识复习(C语言)
linux·c语言·vim
瀚高PG实验室3 小时前
CentOS 8 安装HGDB V4.5 psql命令执行报错
linux·运维·centos·瀚高数据库
小醉你真好3 小时前
6、CentOS 9 安装 Docker
linux·docker·centos