问题描述
我尝试在docker-compose中使用原始的riak-kv映像,我想在init上添加一个存储桶,但docker-compose不会启动。我如何编辑volume.schemas以在初始状态添加存储桶? 原始映像允许在docker-compose中添加riak.conf文件?如果是,那我该怎么办?
解决方法
使用自定义数据类型创建存储桶类型
我假设您想在启动容器时创建一个存储桶类型。您必须在 /etc/riak/schemas
目录中使用存储桶的名称创建一个文件,例如 bucket_name.dt
。该文件应包含一行,其中包含您要创建的类型(例如 counter
、set
、map
、hll
)。
您也可以使用以下命令来创建文件:
echo "counter" > schemas/bucket_name.dt
之后,您只需将包含文件的 schemas 文件夹挂载到容器中的 /etc/riak/schemas
目录:
docker run -d -P -v $(pwd)/schemas:/etc/riak/schemas basho/riak-ts
使用默认数据类型创建存储桶类型
当前使用默认数据类型创建存储桶类型仅在您在 /etc/riak/poststart.d
目录下添加自定义启动后脚本时可用。
使用您要运行的命令创建一个 shell 脚本。可以在 here 中找到一个示例。
您必须将其作为只读文件挂载到 /etc/riak/poststart.d
文件夹中:
docker run -d -P -v $(pwd)/poststart.d/03-bootstrap-my-datatype.sh:/etc/riak/poststart.d/03-bootstrap-my-datatype.sh:ro basho/riak-ts
参考资料
查看 docker 镜像 here 的完整文档。其余的可以在 GitHub 中找到。
此外,可以在 here 中找到可用的数据类型。