如何在Docker内部为Aerospike服务器配置现有数据目录?

时间:2018-12-10 06:24:43

标签: docker dockerfile aerospike

我的主机数据位于我的主机的/ aerospike / data /目录中。

我已经通过点击this链接在docker中安装并配置了Aerospike服务器。

以下是我的docker容器配置文件 Dockerfileentrypoint.shaerospike.conf

我可以使用以下命令连接到Aerospike查询控制台

docker exec -ti my_aerospike_container aql

但是下面的选择查询未显示任何数据:

select * from test;

我还尝试从部署在同一docker实例中另一个容器中的Web应用程序访问此数据。但是也没有数据。

有人可以帮我吗?

3 个答案:

答案 0 :(得分:3)

VOLUME中的Dockerfile指令不会将主机的内容复制到容器中。它仅创建一个安装点。挂载点可以由映像内的目录使用,也可以由运行容器的主机使用。假设您希望容器使用主机计算机的数据目录,则应在docker run命令中使用-v选项进行指定。应该是下面的样子

docker run -v "/path/to/local/data:/aerospike/data" myimage

docker reference(特别是注释)和this stackoverflow discussion中了解有关VOLUME指令的更多信息。

答案 1 :(得分:0)

应该没有分号。您有尝试过吗,还是这里有错字?

aql> select * from test

答案 2 :(得分:-2)

如果要将数据从一个群集移动到另一个群集,请使用Aerospike提供的asbackup / asrestore工具。 asbackup还允许您获取总数据的一定百分比(例如5%的样本)作为开发目的的“生产样本”。交换存储介质并非易事,并且视源群集和目标群集的大小而定,它们始终无法正常工作。