arm64v8/aerospike注意:这是 官方 aerospike 镜像 的 arm64v8 架构构建的“按架构”仓库 — 更多信息,请参见官方镜像文档中的 “非amd64架构?” 和官方镜像FAQ中的 “镜像源在Git中已更改,现在该怎么办?”。
维护者:
Aerospike, Inc.
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile 链接ee-8.1.0.1, ee-8.1.0.1_1
ce-8.1.0.1, ce-8.1.0.1_1
问题提交:
Aerospike论坛 或 GitHub
支持的架构:(更多信息)
amd64、arm64v8
镜像 artifact 详情:
repo-info 仓库的 repos/aerospike/ 目录(历史记录)
(镜像元数据、传输大小等)
镜像更新:
official-images 仓库的 library/aerospike 标签
official-images 仓库的 library/aerospike 文件(历史记录)
本描述来源:
docs 仓库的 aerospike/ 目录(历史记录)
Aerospike 是一款分布式 NoSQL 数据库,专为高性能 Web 规模应用设计。Aerospike 支持键值和文档数据模型,并提供多种数据类型,包括列表、映射、HyperLogLog、GeoJSON 和二进制对象。Aerospike 专利的混合内存架构可在大规模部署中提供可预测的高性能和高节点数据密度。
!logo
Aerospike 企业版(EE)需要功能密钥文件才能启动并解锁数据库中的某些功能(如压缩)。企业客户可使用其生产或开发密钥。
任何人都可以注册获取评估版功能密钥文件,用于全功能单节点 Aerospike 企业版。
Aerospike 社区版(CE)支持与企业版相同的开发者 API,但在运维便利性和企业功能方面有所不同。详见产品矩阵。
consoledocker run -d -v DIR:/opt/aerospike/etc/ -e "FEATURE_KEY_FILE=/opt/aerospike/etc/features.conf" --name aerospike -p 3000-3002:3000-3002 arm64v8/aerospike:ee-[version]
上述命令中,DIR 是您机器上放置功能密钥文件的目录。确保 Docker Desktop 具有文件共享权限,以便将其绑定挂载到 Docker 容器中。
consoleFEATKEY=$(base64 ~/Desktop/evaluation-features.conf) docker run -d -e "FEATURES=$FEATKEY" -e "FEATURE_KEY_FILE=env-b64:FEATURES" --name aerospike -p 3000-3002:3000-3002 arm64v8/aerospike:ee-[version]
consoledocker run -d --name aerospike -p 3000-3002:3000-3002 arm64v8/aerospike:ce-[version]
Aerospike Docker 镜像包含默认配置文件模板,可通过单独的配置参数填充(如前文使用 FEATURE_KEY_FILE),也可替换为自定义配置文件。
以下部分介绍这两种高级选项。
可通过容器侧环境变量(使用 -e 标志)将参数注入配置模板。
例如,将默认命名空间名称设置为 demo:
consoledocker run -d --name aerospike -e "NAMESPACE=demo" -p 3000-3002:3000-3002 -v /my/dir:/opt/aerospike/etc/ -e "FEATURE_KEY_FILE=/opt/aerospike/etc/features.conf" arm64v8/aerospike:ee-[version]
向配置模板注入参数与使用自定义配置文件不兼容,二者只能选其一。
FEATURE_KEY_FILE - feature_key_file,仅 EE 镜像需要。默认值:/etc/aerospike/features.confSERVICE_THREADS - service_threads。默认值:vCPU 数量LOGFILE - logging 上下文的 file 参数。默认值:/dev/null,不记录到文件,仅记录到 stdoutSERVICE_ADDRESS - networking.service 子上下文的绑定 address。默认值:any(任意地址)SERVICE_PORT - networking.service 子上下文的 port。默认值:3000HB_ADDRESS - 跨集群 Mesh 的 networking.heartbeat address。默认值:any(任意地址)HB_PORT - networking.heartbeat 通信的 port。默认值:3002FABRIC_ADDRESS - networking.fabric 子上下文的 address。默认值:any(任意地址)FABRIC_PORT - networking.fabric 子上下文的 port。默认值:3001预配置的单个命名空间为内存中带文件系统持久化
NAMESPACE - 命名空间名称。默认值:testREPL_FACTOR - 命名空间 replication-factor。默认值:2MEM_GB - 命名空间 memory-size。默认值:1,单位固定为 G(GB)DEFAULT_TTL - 命名空间 default-ttl。默认值:30dSTORAGE_GB - 命名空间持久化 file 大小。默认值:4,单位固定为 G(GB)NSUP_PERIOD - 命名空间 nsup-period。默认值:120(秒)可通过提供自己的 aerospike.conf(如 配置 Aerospike 数据库 中所述)覆盖配置文件模板的使用。
首先使用 -v 映射本地目录(Docker 将绑定挂载该目录),然后将 aerospike.conf 文件放入该目录,最后使用 --config-file 选项告知 Aerospike 容器中配置文件的位置(默认路径为 /etc/aerospike/aerospike.conf)。注意需要功能密钥文件,因此在配置文件中使用 feature-key-file 指向挂载路径(如 /opt/aerospike/etc/feature.conf)。
例如:
consoledocker run -d -v /opt/aerospike/etc/:/opt/aerospike/etc/ --name aerospike -p 3000-3002:3000-3002 arm64v8/aerospike:ee-[version] --config-file /opt/aerospike/etc/aerospike.conf
Docker 容器内的文件不会在容器生命周期外持久化。要持久化数据,需使用 -v 选项将主机目录挂载到容器的 /opt/aerospike/data:
例如:
consoledocker run -d -v /opt/aerospike/data:/opt/aerospike/data -v /opt/aerospike/etc:/opt/aerospike/etc/ --name aerospike -p 3000-3002:3000-3002 -e "FEATURE_KEY_FILE=/opt/aerospike/etc/features.conf" arm64v8/aerospike:ee-[version]
上述示例使用配置模板,其中定义的单个命名空间为内存中带文件持久化。只需挂载预定义的 /opt/aerospike/data 目录,即可在主机上持久化数据。
或者,使用自定义配置文件,将 file 参数设置为挂载的 /opt/aerospike/data 中的文件,如下配置片段:
namespace test { # : storage-engine device { file /opt/aerospike/data/test.dat filesize 4G data-in-memory true } }
在此示例中,我们以类似方式挂载数据目录,并使用自定义配置文件:
consoledocker run -d -v /opt/aerospike/data:/opt/aerospike/data -v /opt/aerospike/etc/:/opt/aerospike/etc/ --name aerospike -p 3000-3002:3000-3002 arm64v8/aerospike:ee-[version] --config-file /opt/aerospike/etc/aerospike.conf
Docker 允许将主机的块设备暴露给运行中的容器。可使用 --device 选项在容器内映射主机块设备。
更新自定义 aerospike 配置文件中命名空间的 storage-engine device 部分:
namespace test { # : storage-engine device { device /dev/xvdc write-block-size 128k } }
现在将主机驱动器 /dev/sdc 映射到容器的 /dev/xvdc:
consoledocker run -d --device '/dev/sdc:/dev/xvdc' -v /opt/aerospike/etc/:/opt/aerospike/etc/ --name aerospike -p 3000-3002:3000-3002 arm64v8/aerospike:ee-[version] --config-file /opt/aerospike/etc/aerospike.conf
重启后,Lua 缓存会清空。要持久化缓存,需使用 -v 选项将主机目录挂载到容器的 /opt/aerospike/usr/udf/lua:
shdocker run -d -v /opt/aerospike/lua:/opt/aerospike/usr/udf/lua -v /opt/aerospike/data:/opt/aerospike/data --name aerospike -p 3000-3002:3000-3002 -e "FEATURE_KEY_FILE=/opt/etc/aerospike/features.conf" arm64v8/aerospike:ee-[version]
使用 Aerospike EE 单节点评估版的开发者,以及大多数在机器上使用 Docker Desktop 进行开发的用户,无需配置集群节点。如果您有兴趣使用集群且功能密钥文件无单节点限制,请阅读以下部分。
为使 Aerospike 节点能正确向集群和应用广播其地址,需在配置文件中设置 access-address 配置参数。若未设置,将使用容器内的 IP 地址,该地址无法被其他节点访问。
network { service { address any # 监听 IP 地址 port 3000 # 监听端口 access-address 192.168.1.100 # 集群节点和应用使用的 IP 地址 }
Mesh 网络需要在集群中的每个节点之间建立链接。这可通过两种方式实现:
asinfo 发送 tip 命令,使节点感知另一个节点,如 asinfo 中的 tip 命令 中所述。更多信息,请参见 如何在 Docker 中快速运行 2 节点 Aerospike 集群而无需编辑任何文件?
这些镜像基于 ubuntu:24.04。
这些标签用于 Aerospike EE 镜像,需要功能密钥文件(如单节点 EE 评估版或商业企业许可协议中的密钥)。
这些标签用于 Aerospike CE 镜像,启动时无需功能密钥文件。如前所述,二者的开发者 API 相同,但版本在运维功能上有所不同。
如果您对该镜像有任何问题或疑问,请在 Aerospike 讨论论坛 上发帖。
企业客户欢迎参与社区论坛,也可通过企业支持系统报告问题。
Aerospike EE 评估用户可在 aerospike/aerospike-server-enterprise.docker 中提交问题。
Aerospike CE 用户可在 [aerospike/aerospike-server.docker]([***]

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