本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Aerospike 是一款专为高性能应用设计的分布式 NoSQL 数据库。Aerospike 支持键值和文档数据模型,并提供多种数据类型,包括列表、映射、HyperLogLog、GeoJSON 和二进制大对象(Blob)。Aerospike 的专利混合内存架构可在大规模部署时提供可预测的高性能,并实现每个节点的高数据密度。
!aerospike_square_logo
Aerospike 社区版支持与 Aerospike 企业版相同的开发者 API(持久化删除除外),二者在操作便捷性和企业功能方面存在差异。有关更多信息,请参见产品矩阵。
任何人都可以注册获取评估功能密钥文件,以使用全功能的单节点 Aerospike 企业版。
使用 Aerospike 社区版即表示您同意社区许可证(COMMUNITY_LICENSE)。
docker run -d --name aerospike -p 3000-3002:3000-3002 container.aerospike.com/aerospike/aerospike-server
您可以使用最新的 aerospike-tools 镜像连接到 Aerospike 容器。
docker run -ti aerospike/aerospike-tools:latest aql -h $(docker inspect -f '{{.NetworkSettings.IPAddress }}' aerospike) Seed: 172.17.0.2 User: None Config File: /etc/aerospike/astools.conf /root/.aerospike/astools.conf Aerospike Query Client Version 7.0.4 C Client Version 6.0.0 Copyright 2012-2021 Aerospike. All rights reserved. aql> show namespaces +------------+ | namespaces | +------------+ | "test" | +------------+ [172.17.0.2:3000] 1 row in set (0.002 secs) OK
docker run -ti aerospike/aerospike-tools:latest asadm -h $(docker inspect -f '{{.NetworkSettings.IPAddress }}' aerospike) Seed: [('172.17.0.2', 3000, None)] Config_file: /root/.aerospike/astools.conf, /etc/aerospike/astools.conf Aerospike Interactive Shell, version 2.10.0 Found 1 nodes Online: 172.17.0.2:3000 Admin> info ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Network Information (2022-11-01 00:48:05 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Node| Node ID| IP| Build|Migrations|~~~~~~~~~~~~~~~~~~Cluster~~~~~~~~~~~~~~~~~~|Client| Uptime | | | | |Size| Key|Integrity| Principal| Conns| 172.17.0.2:3000|*BB9020011AC4202|172.17.0.2:3000|C-6.1.0.3| 0.000 | 1|19E628721D9A|True |BB9020011AC4202| 8|00:02:09 Number of rows: 1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Namespace Usage Information (2022-11-01 00:48:05 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Namespace| Node| Total|Expirations|Evictions| Stop|~~~~~~~~~~Device~~~~~~~~~~|~~~~~~~~~~Memory~~~~~~~~~|~Primary~ | |Records| | |Writes| Used|Used%|HWM%|Avail%| Used|Used%|HWM%|Stop%|~~Index~~ | | | | | | | | | | | | | | Type test |172.17.0.2:3000|0.000 | 0.000 | 0.000 |False |0.000 B | 0.0| 0| 99|0.000 B | 0.0| 0| 90|memory test | |0.000 | 0.000 | 0.000 | |0.000 B | 0.0| | |0.000 B | 0.0| | | Number of rows: 1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Namespace Object Information (2022-11-01 00:48:05 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Namespace| Node|Rack| Repl| Total|~~~~~~~~~~Objects~~~~~~~~~~|~~~~~~~~~Tombstones~~~~~~~~|~~~~Pending~~~~ | | ID|Factor|Records| Master| Prole|Non-Replica| Master| Prole|Non-Replica|~~~~Migrates~~~ | | | | | | | | | | | Tx| Rx test |172.17.0.2:3000| 0| 1|0.000 |0.000 |0.000 | 0.000 |0.000 |0.000 | 0.000 |0.000 |0.000 test | | | |0.000 |0.000 |0.000 | 0.000 |0.000 |0.000 | 0.000 |0.000 |0.000 Number of rows: 1
Aerospike Docker 镜像附带默认配置文件,可设置单节点、单命名空间的开发环境。您也可以提供自己的配置文件(见下文)。
您可以使用 -e 标志通过容器端环境变量将参数注入默认配置模板。
例如,要将默认命名空间名称设置为 demo:
docker run -d --name aerospike -e "NAMESPACE=demo" -p 3000-3002:3000-3002 -v /my/dir:/opt/aerospike/etc/ container.aerospike.com/aerospike/aerospike-server
将配置参数注入配置模板与提供配置文件不兼容,您只能使用其中一种方式。
LOGFILElogging 上下文的 file 参数。默认值:"",不记录到文件。无论此处配置如何,容器都会同时记录到 stdout。
SERVICE_ADDRESSnetworking.service 子上下文的绑定 address。默认值:any
SERVICE_PORTnetworking.service 子上下文的 port。默认值:3000
单个预配置命名空间具有以下变量:
NAMESPACE命名空间名称。默认值:test
DATA_IN_MEMORY存储引擎的 data-in-memory 设置。如果为 false(默认值),命名空间仅将索引存储在内存中,所有读写操作均从文件系统提供服务来自文件系统。如果为 true,命名空间存储为内存中带文件系统持久化,即读写操作从完整的内存副本进行,同步写入会持久化到磁盘。
DEFAULT_TTL命名空间的 default-ttl。默认值:0
MEM_GB命名空间的 memory-size。默认值:1,单位始终为 G(GB)
NSUP_PERIOD命名空间的 nsup-period。默认值:120,单位为秒;当 default-ttl 为 0 时也会禁用。
STORAGE_GB命名空间持久化 file 大小。默认值:4,单位始终为 G(GB)
您可以通过提供自己的 aerospike.conf 覆盖默认配置文件,如 配置 Aerospike 数据库 中所述。
您应首先使用 -v 映射本地目录,Docker 将绑定挂载该目录。然后,将您的 aerospike.conf 文件放入此目录。最后,使用 --config-file 选项告知 Aerospike 配置文件在容器中的位置(默认路径为 /etc/aerospike/aerospike.conf)。请注意,需要功能密钥文件,因此请在配置文件中使用 feature-key-file 指向挂载路径(例如 /opt/aerospike/etc/feature.conf)。
例如:
docker run -d -v /opt/aerospike/etc/:/opt/aerospike/etc/ --name aerospike -p 3000-3002:3000-3002 container.aerospike.com/aerospike/aerospike-server --config-file /opt/aerospike/etc/aerospike.conf
在 Docker 中,容器内的文件不会在容器生命周期后持久化。要持久化数据,您需要使用 -v 选项将主机目录挂载到容器的 /opt/aerospike/data:
例如:
docker run -d -v /opt/aerospike/data:/opt/aerospike/data -v /opt/aerospike/etc:/opt/aerospike/etc/ --name aerospike -p 3000-3002:3000-3002 container.aerospike.com/aerospike/aerospike-server
上述示例使用配置模板,其中定义的单个命名空间是内存中带文件持久化的。只需挂载预定义的 /opt/aerospike/data 目录即可在主机上持久化数据。
或者,您的自定义配置文件使用 file 参数指向挂载的 /opt/aerospike/data 中的文件,如以下配置片段所示:
namespace test { # : storage-engine device { file /opt/aerospike/data/test.dat filesize 4G data-in-memory true } }
在此示例中,我们也以类似方式挂载数据目录,并使用自定义配置文件:
docker run -d -v /opt/aerospike/data:/opt/aerospike/data -v /opt/aerospike/etc/:/opt/aerospike/etc/ --name aerospike -p 3000-3002:3000-3002 container.aerospike.com/aerospike/aerospike-server --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:
docker run -d --device '/dev/sdc:/dev/xvdc' -v /opt/aerospike/etc/:/opt/aerospike/etc/ --name aerospike -p 3000-3002:3000-3002 container.aerospike.com/aerospike/aerospike-server --config-file /opt/aerospike/etc/aerospike.conf
重启后,Lua 缓存将被清空。要持久化缓存,您需要使用 -v 选项将主机目录挂载到容器的 /opt/aerospike/usr/udf/lua:
docker 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 container.aerospike.com/aerospike/aerospike-server --config-file /opt/aerospike/etc/aerospike.conf
为方便起见,此镜像默认未启用安全功能,但这是 Aerospike 企业版的核心功能。知识库文章 如何保护 Aerospike 数据库服务器 详细介绍了该主题。
安全提醒:即使是好人也可能遇到安全问题。
为使 Aerospike 节点能正确向集群和应用广播其地址,需要在配置文件中设置 access-address 配置参数。如果未设置,将使用容器内的 IP 地址,其他节点无法访问。
network { service { address any # 监听 IP 地址 port 3000 # 监听端口 access-address 192.168.1.100 # 集群节点和应用使用的 IP 地址 } ... }
参见 如何在 Docker 中快速运行 2 节点 Aerospike 集群而无需编辑任何文件?
Aerospike 遥测功能允许我们收集有关您的 Aerospike 社区版服务器使用情况的某些匿名使用数据(非数据库数据)。更多信息
[!提示] 可通过将容器环境变量
AEROSPIKE_TELEMETRY设置为FALSE来禁用遥测。
这些镜像基于 ubuntu:*。
社区版用户可在 Aerospike 论坛 上报告此镜像的问题或提问,或在 aerospike/aerospike-server.docker 中提交 issue。
如果您使用 Aerospike 数据库社区版,请参阅 aerospike/aerospike-server 仓库中的许可证信息。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429