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

问题

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

检查服务器磁盘

# 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发行版

# 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上面的镜像:

docker pull quay.io/minio/minio

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

docker save -o minio_image.docker quay.io/minio/minio

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

docker load -i minio_image.docker

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

docker images | grep mini
quay.io/minio/minio   latest              xxxxx        13 hours ago        151MB

创建minio配置文件

vim /etc/default/minio

内容如下:

# 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容器

准备一个文件数据目录:

mkdir -p ~/minio/data

创建并运行mini容器:

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"

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

docker logs minio

如果出现如下错误:

standard_init_linux.go:211: exec user process caused "exec format error"

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

arch

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

# 删除旧镜像
docker image rm quay.io/minio/minio
docker pull --platform linux/amd64 quay.io/minio/minio

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

测试

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

总结

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

参考

相关推荐

  1. k8s线安装节点elasticsearch7.x

    2024-07-12 12:16:03       27 阅读
  2. 节点线部署TiDB 6.1用于测试

    2024-07-12 12:16:03       25 阅读
  3. Docker线安装

    2024-07-12 12:16:03       44 阅读
  4. 线安装docker

    2024-07-12 12:16:03       49 阅读
  5. docker线安装

    2024-07-12 12:16:03       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 12:16:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 12:16:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 12:16:03       58 阅读
  4. Python语言-面向对象

    2024-07-12 12:16:03       69 阅读

热门阅读

  1. 【C语言】《回调函数》详细解析

    2024-07-12 12:16:03       25 阅读
  2. I18N/L10N 历史 / I18N 指南 / libi18n 模块说明

    2024-07-12 12:16:03       18 阅读
  3. ActiViz中的点放置器vtkPointPlacer

    2024-07-12 12:16:03       21 阅读
  4. MySQL远程登录

    2024-07-12 12:16:03       19 阅读
  5. PostgreSQL 基于时间点恢复

    2024-07-12 12:16:03       19 阅读
  6. 如何理解李彦宏说的“不要卷模型,要卷应用”

    2024-07-12 12:16:03       26 阅读
  7. 解决Spring Boot应用中的内存优化问题

    2024-07-12 12:16:03       18 阅读