gluster/glusterfs-client本仓库包含用于构建GlusterFS容器(包括服务器、客户端和S3服务器)的Dockerfile,基于CentOS和Fedora操作系统。GlusterFS社区维护这些镜像,旨在简化用户部署GlusterFS环境的流程,提供稳定、便捷的分布式存储解决方案。支持多种GlusterFS版本,满足不同场景下的存储需求。
| 容器类型 | GlusterFS版本 | 容器标签 | 容器名称 |
|---|---|---|---|
| GlusterFS服务器容器 | v4.0, v3.13, v3.12, v3.10 | gluster4u0_centos7,gluster3u13_centos7, gluster3u12_centos7, gluster3u10_centos7 | gluster-centos |
| GlusterFS客户端容器 | v3.13 | latest | glusterfs-client |
| Gluster S3服务器容器 | v4.0, v3.13, v3.12, v3.10 | latest | gluster-s3 |
--net=host模式,最大化网络吞吐量。/dev/目录,便于在容器内创建存储砖(brick)。从Docker Hub拉取预构建镜像:
Fedora基础镜像:
bash$ docker pull gluster/gluster-fedora
CentOS基础镜像:
bash$ docker pull gluster/gluster-centos
如需自定义构建,可克隆源码仓库并构建:
bash# 克隆仓库 $ git clone ***:gluster/gluster-containers.git # 构建Fedora镜像 $ docker build -t gluster-fedora Fedora # 构建CentOS镜像 $ docker build -t gluster-centos CentOS
前置条件:
/etc/glusterfs、/var/lib/glusterd、/var/log/glusterfs运行命令:
bash$ docker run -v /etc/glusterfs:/etc/glusterfs:z \ -v /var/lib/glusterd:/var/lib/glusterd:z \ -v /var/log/glusterfs:/var/log/glusterfs:z \ -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ -d --privileged=true --net=host -v /dev/:/dev \ gluster/gluster-centos # 或gluster-fedora
参数说明:
--net=host(可选):使用主机网络,提升网络吞吐量--privileged=true(可选):特权模式,允许容器访问主机/dev/目录以创建存储砖/var/lib/glusterd:持久化GlusterFS元数据/var/log/glusterfs:持久化GlusterFS日志/etc/glusterfs:持久化GlusterFS配置文件查看运行中的容器:
bash$ docker ps -a
输出示例:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d273cc739c9d gluster/gluster-fedora:latest "/usr/sbin/init" 3 minutes ago Up 3 minutes 49157/tcp, 49161/tcp, 49158/tcp, 38466/tcp, 8080/tcp, 2049/tcp, 24007/tcp, ... angry_morse
使用容器ID获取IP:
bash$ docker inspect d273cc739c9d
在输出中查找IPAddress字段,例如:
json"IPAddress": "172.17.0.2"
bash# 进入容器 $ docker exec -ti d273cc739c9d bash # 检查glusterd进程 -bash-4.3# ps aux | grep glusterd root 34 0.0 0.0 448092 *** ? Ssl 06:01 0:00 /usr/sbin/glusterd -p /var/run/glusterd.pid # 检查节点状态 -bash-4.3# gluster peer status Number of Peers: 0 # 检查GlusterFS版本 -bash-4.3# gluster --version
容器内已配置/var/log/core目录用于存储核心转储。可通过以下步骤配置和提取:
bash# 在主机设置核心转储路径 $ sysctl -w kernel.core_pattern=/var/log/core/core_%e.%p # 从容器复制核心转储到主机 $ docker cp d273cc739c9d:/var/log/core/ <主机目标路径>
bash$ docker pull gluster/gluster-s3
前置配置:
/mnt/gluster-object目录下挂载GlusterFS卷,挂载点名称需与卷名一致(例如卷test挂载至/mnt/gluster-object/test)。/etc/sysconfig/swift-volumes文件,设置卷名(如S3_ACCOUNT='tv1')。运行命令:
bash$ docker run -d --privileged \ -v /sys/fs/cgroup/:/sys/fs/cgroup/:ro \ -p 8080:8080 \ -v /mnt/gluster-object:/mnt/gluster-object \ -e S3_ACCOUNT="tv1" \ -e S3_USER="admin" \ -e S3_PASSWORD="redhat" \ gluster/gluster-s3
参数说明:
-p 8080:8080:映射S3服务端口-v /mnt/gluster-object:/mnt/gluster-object:挂载主机GlusterFS卷目录S3_ACCOUNT:GlusterFS卷名S3_USER:S3访问用户名S3_PASSWORD:S3访问密码可通过S3客户端工具(如s3cmd)进行对象的上传和下载测试,详细步骤参考Gluster Swift快速入门指南。




manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务