amd64/aerospike** 注意 **:这是aerospike官方镜像的amd64架构构建的“按架构”仓库——更多信息,请参见官方镜像文档中的“非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是一款专为高性能Web规模应用设计的分布式NoSQL数据库。Aerospike支持键值和文档数据模型,并具有多种数据类型,包括列表、映射、HyperLogLog、GeoJSON和二进制大对象(Blob)。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 amd64/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 amd64/aerospike:ee-[version]
consoledocker run -d --name aerospike -p 3000-3002:3000-3002 amd64/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" amd64/aerospike:ee-[version]
将配置参数注入配置模板与使用自定义配置文件不兼容,只能选择其中一种方式。
FEATURE_KEY_FILE - feature_key_file(仅EE镜像需要)。默认值:/etc/aerospike/features.confSERVICE_THREADS - service_threads。默认值:vCPU数量LOGFILE - logging上下文的file参数。默认值:/dev/null(不记录到文件,记录到stdout)SERVICE_ADDRESS - networking.service子上下文的绑定address。默认值:any(任意地址)SERVICE_PORT - networking.service子上下文的port。默认值:3000HB_ADDRESS - 跨集群网格的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 amd64/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" amd64/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 amd64/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 amd64/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" amd64/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 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务