minio在redhat7.9上面的单节点单驱动离线安装(docker)

问题

最近需要在红帽上面离线安装minio,并且还是要离线安装到服务器中的Docker里面去。

检查服务器磁盘

bash 复制代码
# lsblk -f
NAME          FSTYPE      LABEL UUID                                   MOUNTPOINT
sda
├─sda1        xfs               xxxxsx-xxx-xxx-sxx   /boot
└─sda2        LVM2_member       xxxxsx-xxx-xxx-sxx 
  ├─rhel-root xfs               xxxxsx-xxx-xxx-sxx    /
  ├─rhel-swap swap              xxxxsx-xxx-xxx-sxx 
  └─rhel-home xfs               xxxxsx-xxx-xxx-sxx    /home

lsblk -f命令可以看出,这台服务器只有一个磁盘,使用了xfs的格式。minio是建议用xfs格式的,而且,如果想要部署单节点多驱动的方式安装,最好是有4个以上磁盘。我们这里选择单节点单驱动,毕竟只有1台服务器1块磁盘,一般业务系统也够用了。

检查服务器Linux发行版

bash 复制代码
# cat /etc/*release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.9 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.9"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.9 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.9:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.9
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.9"
Red Hat Enterprise Linux Server release 7.9 (Maipo)
Red Hat Enterprise Linux Server release 7.9 (Maipo)

从这个命令,就可以确认是红帽7.9企业版。

离线导入minio镜像

拉取Docker minio镜像

现在回到我们本地开发环境,然后,使用docker命令获取minio在quay上面的镜像:

bash 复制代码
docker pull quay.io/minio/minio

然后,再把刚刚拉取下来的minio镜像,导出为一个普通文件:

bash 复制代码
docker save -o minio_image.docker quay.io/minio/minio

得到minio_image.docker文件后,将这个镜像文件通过sftp上传到服务器上面。然后,开始在服务器上面导入这个minio文件,命令如下:

bash 复制代码
docker load -i minio_image.docker

导入完成后,使用如下命令检查:

bash 复制代码
docker images | grep mini
quay.io/minio/minio   latest              xxxxx        13 hours ago        151MB

创建minio配置文件

bash 复制代码
vim /etc/default/minio

内容如下:

bash 复制代码
# MINIO_ROOT_USER and MINIO_ROOT_PASSWORD sets the root account for the MinIO server.
# This user has unrestricted permissions to perform S3 and administrative API operations on any resource in the deployment.
# Omit to use the default values 'minioadmin:minioadmin'.
# MinIO recommends setting non-default values as a best practice, regardless of environment

MINIO_ROOT_USER=myminioadmin
MINIO_ROOT_PASSWORD=minio-secret-key-change-me

# MINIO_VOLUMES sets the storage volume or path to use for the MinIO server.

MINIO_VOLUMES="/mnt/data"

# MINIO_OPTS sets any additional commandline options to pass to the MinIO server.
# For example, `--console-address :9001` sets the MinIO Console listen port
MINIO_OPTS="--console-address :9001"

创建docker容器

准备一个文件数据目录:

bash 复制代码
mkdir -p ~/minio/data

创建并运行mini容器:

bash 复制代码
podman run -dt                                  \
  -p 9000:9000 -p 9001:9001                     \
  -v ~/minio/data:/mnt/data                             \
  -v /etc/default/minio:/etc/config.env         \
  -e "MINIO_CONFIG_ENV_FILE=/etc/config.env"    \
  --name "minio"                          \
  quay.io/minio/minio server --console-address ":9001"

使用如下命令,查看容器启动日志:

bash 复制代码
docker logs minio

如果出现如下错误:

bash 复制代码
standard_init_linux.go:211: exec user process caused "exec format error"

可能是本地拉取到的docker镜像与服务器要使用的docker镜像,cpu架构不一致,可以通过如下命令查看服务器cpu架构:

bash 复制代码
arch

服务器结果为x86_64,而我的本地开发机为mac m1属于arm架构。需要重新拉取指定架构的docker镜像重现导入到服务器中:

bash 复制代码
# 删除旧镜像
docker image rm quay.io/minio/minio
docker pull --platform linux/amd64 quay.io/minio/minio

重现导入docker镜像之后,重新创建docker镜像。

测试

最后,在web页面登录minio。效果如下:

总结

minio单节点单驱动,对于一般小项目来说,还是挺容易的。

参考

相关推荐
天天进步20156 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
My is 李豆7 小时前
CentOS 7 安装 Docker 完整教程(含 docker-compose 插件)
docker·eureka·centos
极客先躯7 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java面试题总结7 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
志栋智能7 小时前
超自动化巡检:提升MTTR,缩短业务影响时间
运维·自动化
kong@react8 小时前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
睡不醒男孩0308239 小时前
第八篇:如何构建一站式 PostgreSQL 性能优化与智能管控平台?从盲目排查到 CLup 自动化运维演进
运维·postgresql·性能优化
某林2129 小时前
Isaac Sim 5.1.0 无头服务器部署与 RTX 显存段错误排障全记录
运维·服务器·docker·容器·isaac
m0_738120729 小时前
Docker 环境下 Vulfocus 靶场搭建全流程(附镜像源问题解决方案)
运维·服务器·网络·安全·docker·容器
simeple9 小时前
记一次 Docker Compose 项目迁移:从 Windows Docker Desktop 迁移到 CentOS 服务器
docker