
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本仓库包含用于构建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)。1.1 拉取镜像
从Docker Hub拉取预构建镜像:
Fedora基础镜像:
bash$ docker pull gluster/gluster-fedora
CentOS基础镜像:
bash$ docker pull gluster/gluster-centos
1.2 从Dockerfile构建镜像
如需自定义构建,可克隆源码仓库并构建:
bash# 克隆仓库 $ git clone git@github.com:gluster/gluster-containers.git # 构建Fedora镜像 $ docker build -t gluster-fedora Fedora # 构建CentOS镜像 $ docker build -t gluster-centos CentOS
1.3 运行容器
前置条件:
/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配置文件1.4 验证容器运行状态
查看运行中的容器:
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
1.5 检查容器IP地址
使用容器ID获取IP:
bash$ docker inspect d273cc739c9d
在输出中查找IPAddress字段,例如:
json"IPAddress": "172.17.0.2"
1.6 进入容器并验证服务
bash# 进入容器 $ docker exec -ti d273cc739c9d bash # 检查glusterd进程 -bash-4.3# ps aux | grep glusterd root 34 0.0 0.0 448092 15800 ? 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
1.7 捕获核心转储
容器内已配置/var/log/core目录用于存储核心转储。可通过以下步骤配置和提取:
bash# 在主机设置核心转储路径 $ sysctl -w kernel.core_pattern=/var/log/core/core_%e.%p # 从容器复制核心转储到主机 $ docker cp d273cc739c9d:/var/log/core/ <主机目标路径>
2.1 拉取镜像
bash$ docker pull gluster/gluster-s3
2.2 运行容器
前置配置:
/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访问密码2.3 测试S3服务
可通过S3客户端工具(如s3cmd)进行对象的上传和下载测试,详细步骤参考https://github.com/gluster/gluster-swift/blob/master/doc/markdown/quick_start_guide.md#using_swift%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务