ToB企服应用市场:ToB评测及商务社交产业平台
标题:
Docker 摆设 MinIO 对象存储服务
[打印本页]
作者:
卖不甜枣
时间:
前天 20:44
标题:
Docker 摆设 MinIO 对象存储服务
前言
MinIO 是一个高性能、开源的对象存储服务
,基于 Apache License v2.0 协议,
兼容 Amazon S3 API
。作为轻量级存储解决方案,MinIO 提供了卓越的性能,适合存储大容量的非结构化数据,如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。其文件巨细可从几千字节到最大 5T 不等,且完全免费。
焦点优势
:
高性能
:支持大规模数据存储与访问,处置处罚速率快。
开源与兼容
:完全开源,兼容 S3 接口,便于集成。
适用场景
:适合静态文件存储、数据备份、归档管理等。
摆设简单
:通过 Docker 快速摆设,减少安装和设置复杂度。
免费使用
:无需付费,适合开发者和小型企业使用。
通过 Docker 摆设 MinIO,你可以迅速启动并设置服务,简化了安装过程,同时保持极高的性能和可扩展性。
本篇文章将指导你通过 Docker 快速搭建 MinIO 情况,并解说如何修改设置文件和定制化你的存储设置。
一、准备工作
1. 安装 Docker
起首,确保你的系统上已经安装了 Docker。
Linux上举行Docker安装有两种方式:
Docker自动化安装
Docker手动安装
可以根据该文章的步骤举行安装:https://blog.csdn.net/weixin_44876263/article/details/136714078?spm=1001.2014.3001.5502
2. 确认服务器架构
minio运行错误
错误:minio安装 运行后显示:Fatal glibc error: CPU does not support x86-64-v2
解决方案:
使用 /minio/minio:${release}-cpuv1
例如:minio/minio:RELEASE.2024-02-17T01-15-57Z-cpuv1
复制代码
在选择 MinIO 镜像版本时,需要确认服务器的硬件架构。 则你可以通过以下下令检察服务器的
CPU 架构
:
uname -m
复制代码
假如返回 x86_64,则是标准的 x86-64 架构。
假如返回 x86-64-v2,则是支持特定优化的架构版本。
根据你的架构,选择对应的 MinIO 镜像版本:
x86_64 架构
: minio/minio:RELEASE.2023-04-28T18-11-17Z-cpuv1
x86-64-v2 架构
: minio/minio:RELEASE.2024-02-17T01-15-57Z
二、设置 MinIO 容器的目录结构
为了便于管理,我们起首创建一个目录结构,用于存放 MinIO 数据和设置文件。
# 安装路径
DIR="/opt/docker/minio"
DOCKER_NAME="docker-minio"
# 创建目录结构
mkdir -p "$DIR/data"
mkdir -p "$DIR/docker/config"
复制代码
data:存放 MinIO 的数据文件。
config:存放 MinIO 设置文件。
三、启动一个临时的 MinIO 容器来获取设置文件
我们需要一个基础的 MinIO 设置文件,Docker 官方镜像已内置了默认设置。为了方便地获取并修改这些设置文件,我们起首启动一个临时的 MinIO 容器。
# 启动一个临时的 MinIO 容器来复制配置文件
docker run --name minio_test -p 9000:9000 -d minio/minio server /data
复制代码
这个下令会启动一个 minio/minio 容器,并将其 9000 端口映射到宿主机的 9000 端口。我们可以通过访问 http://localhost:9000 来检察 MinIO 服务。
四、复制 MinIO 设置文件到当地目录
接下来,我们将容器内的 MinIO 设置文件复制到当地,以便举行自定义修改。使用以下下令将设置文件复制到宿主机的 $DIR/docker/config 目录中:
# 复制 MinIO 配置文件到本地目录
docker cp minio_test:/root/.minio "$DIR/docker/config"
复制代码
如许,我们就获取到了 MinIO 的设置文件,并可以根据需要举行修改。
五、删除临时 MinIO 容器
复制完设置文件后,我们不再需要这个临时的 MinIO 容器,因此可以将其删除:
# 删除临时 MinIO 容器
docker rm -f minio_test
复制代码
六、创建并运行 MinIO 容器,挂载当地目录
现在,我们可以使用自定义的设置文件来启动一个持久化的 MinIO 容器。通过将当地目录挂载到容器中,我们可以确保设置文件、日志和数据文件持久化存储在宿主机上。
以下是启动 MinIO 容器的下令:
docker run -d \
--restart=always \
--name "$DOCKER_NAME" \
--network host \
-e "MINIO_ROOT_USER=minio" \
-e "MINIO_ROOT_PASSWORD=minio123456" \
-v "$DIR/data:/data/minio" \
-v "$DIR/docker/config:/root/.minio" \
minio/minio server /data/minio
复制代码
解释各个参数:
-d:后台运行容器。
--restart=always:容器在崩溃或系统重启后自动重启。
--name "$DOCKER_NAME":容器的名称为 docker-minio。
--network host:容器将使用宿主机的网络栈。
-e "MINIO_ROOT_USER=minio":设置 MinIO 的根用户。
-e "MINIO_ROOT_PASSWORD=minio123456":设置 MinIO 的根密码。
-v "$DIR/data:/data/minio":挂载数据目录到容器中。
-v "$DIR/docker/config:/root/.minio":挂载设置目录到容器中。
七、修改 MinIO 设置文件
假如你需要修改 MinIO 的设置,可以直接修改 $DIR/docker/config 目录下的设置文件。MinIO 支持通过情况变量设置很多功能,比方设置
根用户、密码、访问密钥
等。
在默认情况下,MinIO 启动时会根据容器内的设置文件举行初始化,因此你只需要确保挂载正确的设置文件即可。
八、端口设置:Host 网络模式 vs Port 映射模式
在 Docker 中,容器的端口设置优劣常关键的。MinIO 容器支持两种主要的端口设置方式:
Host 网络模式
和
Port 映射模式
。
Host 网络模式
在 Docker 中使用 --network host 时,容器将共享宿主机的网络栈,这意味着容器直接使用宿主机的 IP 地址和端口来暴露服务。通过这种方式,容器会使用宿主机的端口 9000 来提供服务。
设置下令:
docker run -d \
--restart=always \
--name "$DOCKER_NAME" \
--network host \
-e "MINIO_ROOT_USER=minio" \
-e "MINIO_ROOT_PASSWORD=minio123456" \
-v "$DIR/data:/data/minio" \
-v "$DIR/docker/config:/root/.minio" \
minio/minio server /data/minio
复制代码
优点
容器共享宿主机的网络,性能较高。
无需显式端口映射,容器与宿主机共享雷同的网络。
缺点
容器与宿主机的网络完全共享,可能会有端口辩说,尤其是多个容器或服务同时运行时。
容器的端口与宿主机端口雷同,可能存在安全隐患。
Port 映射模式
假如你希望使用宿主机的特定端口来访问容器内的服务,可以使用 -p 参数举行端口映射。
设置下令:
docker run -d \
--restart=always \
--name "$DOCKER_NAME" \
-p 9000:9000 \
-e "MINIO_ROOT_USER=minio" \
-e "MINIO_ROOT_PASSWORD=minio123456" \
-v "$DIR/data:/data/minio" \
-v "$DIR/docker/config:/root/.minio" \
minio/minio server /data/minio
复制代码
优点
容器端口与宿主机端口不同,可以避免端口辩说。
容器与宿主机之间有更好的网络隔离性。
支持多个容器映射到宿主机不同的端口,适合多容器情况。
缺点
可能会导致轻微的性能损失,由于需要举行额外的端口映射。
需要手动管理和指定端口映射。
九、检察日志和检查容器状态
容器启动后,你可以通过以下下令检察容器的状态,确保它在运行中:
docker ps
复制代码
假如容器未正常运行,可以检察日志举行排查:
docker logs docker-minio
复制代码
十、访问 MinIO 服务
完成上述步骤后,你可以通过欣赏器访问宿主机的 IP 地址和设置的端口,检察 Nginx 是否正常运行。
假如使用了 --network host,则可以通过 http://localhost:9000 访问 MinIO 控制台。
假如使用了端口映射,比方 -p 9000:9000,则可以通过 http://localhost:9000 访问 MinIO 服务。
十一、MinIO 联邦集群
MinIO 联邦集群介绍
https://blog.csdn.net/weixin_44876263/article/details/136236974?spm=1001.2014.3001.5501
基于docker的联邦集群搭建 (etcd+minio)
https://blog.csdn.net/weixin_44876263/article/details/136238872?spm=1001.2014.3001.5501
总结
通过 Docker 摆设 MinIO 容器非常简便,并且可以机动设置各个参数。通过挂载当地目录,MinIO 的数据文件和设置文件可以持久化存储在宿主机上,便于管理和备份。使用 Docker 来运行 MinIO 容器不但简化了摆设流程,还提供了极大的机动性和可扩展性。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4