我的主机数据位于我的主机的/ aerospike / data /目录中。
我已经通过点击this链接在docker中安装并配置了Aerospike服务器。
以下是我的docker容器配置文件 Dockerfile,entrypoint.sh,aerospike.conf
我可以使用以下命令连接到Aerospike查询控制台
docker exec -ti my_aerospike_container aql
但是下面的选择查询未显示任何数据:
select * from test;
我还尝试从部署在同一docker实例中另一个容器中的Web应用程序访问此数据。但是也没有数据。
有人可以帮我吗?
答案 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%的样本)作为开发目的的“生产样本”。交换存储介质并非易事,并且视源群集和目标群集的大小而定,它们始终无法正常工作。