ceph/ceph-amd64ceph-amd64 是基于 AMD64 架构的 Ceph 分布式存储系统 Docker 镜像。Ceph 是一个开源的统一存储解决方案,支持对象存储、块存储和文件系统三种存储接口。该镜像通过 Docker 容器化技术封装 Ceph 服务组件(如 Monitor、OSD、MDS 等),旨在简化 Ceph 集群的部署流程、提升环境一致性,并降低跨平台配置复杂度。主要用途包括快速搭建 Ceph 存储集群、验证 Ceph 功能特性,以及作为生产环境中 Ceph 部署的基础容器。
通过 Docker Hub 拉取最新镜像(假设镜像标签为 latest,实际使用时建议指定具体版本号):
bashdocker pull ceph/ceph-amd64:latest
适用于功能验证,不建议生产环境使用:
bash# 启动单节点 Ceph 集群(包含 Monitor、OSD、MDS、RGW) docker run -d --name ceph-test \ --net=host \ -v /etc/ceph:/etc/ceph \ -v /var/lib/ceph:/var/lib/ceph \ -e CEPH_PUBLIC_NETWORK=192.168.1.0/24 \ # 替换为实际公共网络 CIDR ceph/ceph-amd64:latest start --single-node
通过 docker-compose.yml 定义集群节点(以 3 节点 Monitor + 3 节点 OSD 为例):
yaml# docker-compose.yml version: '3' services: # Monitor 节点 1 mon1: image: ceph/ceph-amd64:latest container_name: ceph-mon1 network_mode: host volumes: - /etc/ceph:/etc/ceph - /var/lib/ceph/mon/ceph-mon1:/var/lib/ceph/mon/ceph-mon1 environment: - CEPH_PUBLIC_NETWORK=192.168.1.0/24 - CEPH_CLUSTER_NETWORK=192.168.2.0/24 - MON_IP=192.168.1.101 # 替换为 mon1 实际 IP - CLUSTER_NAME=ceph command: mon # Monitor 节点 2 mon2: image: ceph/ceph-amd64:latest container_name: ceph-mon2 network_mode: host volumes: - /etc/ceph:/etc/ceph - /var/lib/ceph/mon/ceph-mon2:/var/lib/ceph/mon/ceph-mon2 environment: - CEPH_PUBLIC_NETWORK=192.168.1.0/24 - CEPH_CLUSTER_NETWORK=192.168.2.0/24 - MON_IP=192.168.1.102 # 替换为 mon2 实际 IP - CLUSTER_NAME=ceph command: mon # OSD 节点 1(使用 /dev/sdb 作为 OSD 盘) osd1: image: ceph/ceph-amd64:latest container_name: ceph-osd1 network_mode: host privileged: true # OSD 需要直接访问底层设备 volumes: - /etc/ceph:/etc/ceph - /var/lib/ceph/osd/ceph-0:/var/lib/ceph/osd/ceph-0 - /dev:/dev # 挂载宿主机设备 environment: - CEPH_PUBLIC_NETWORK=192.168.1.0/24 - CEPH_CLUSTER_NETWORK=192.168.2.0/24 - OSD_DEVICE=/dev/sdb # 替换为实际 OSD 设备路径 command: osd
启动集群:
bashdocker-compose up -d
| 环境变量 | 描述 | 默认值 |
|---|---|---|
CEPH_PUBLIC_NETWORK | 客户端访问网络 CIDR(如 192.168.1.0/24) | 无(必填) |
CEPH_CLUSTER_NETWORK | 集群内部数据同步网络 CIDR | 同 PUBLIC_NETWORK |
MON_IP | Monitor 节点 IP 地址 | 无(Monitor 节点必填) |
CLUSTER_NAME | Ceph 集群名称 | ceph |
ADMIN_KEY | 集群管理员密钥(ceph.client.admin.keyring) | 自动生成 |
OSD_DEVICE | OSD 节点使用的存储设备路径(如 /dev/sdb) | 无(OSD 节点必填) |
Ceph 核心配置文件(ceph.conf、密钥环 *.keyring)需通过宿主机目录挂载到容器内 /etc/ceph,确保集群配置持久化和节点间同步:
bash-v /path/to/host/ceph-config:/etc/ceph
进入容器执行 ceph -s 命令:
bashdocker exec -it ceph-mon1 ceph -s
预期输出(集群健康状态):
cluster: id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx health: HEALTH_OK services: mon: 3 daemons, quorum mon1,mon2,mon3 (age 10m) mgr: mon1(active, since 8m) osd: 3 osds: 3 up (since 5m), 3 in (since 5m) data: pools: 0 pools, 0 pgs objects: 0 objects, 0 B usage: 3.0 GiB / 9.0 GiB used pgs:
默认启用 Dashboard(Web 管理界面),通过 http://<mon-ip>:8443 访问,默认用户名 admin,密码通过以下命令获取:
bashdocker exec -it ceph-mon1 ceph config get mgr mgr/dashboard/admin_password
ceph/ceph-amd64:18.2.1),避免 latest 标签自动更新导致兼容性问题。docker pull ceph/ceph-amd64:latestdocker-compose up -d 滚动重启服务(需遵循 Ceph 版本升级流程)。ceph 仓库)。



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