以下命令可以正常运行,并且riak服务将按预期启动:



本地schemas目录已成功安装,并且riak读取了其中的sql文件。但是,如果我尝试挂载riak的datalog目录,则riak服务无法启动,并且15秒后会超时:


docker logs riak的输出:



为什么将riak的日志或数据目录挂载到本地目录后无法启动?

最佳答案

此问题与已挂载log文件夹的目录所有者有关。文件夹$GROUP$USER预期为riak,如下所示:

root@20e489124b9a:/var/log# ls -l
drwxr-xr-x 2 riak riak   4096 Jul 19 10:00 riak

但是有了卷,您将得到:
root@3546d261a465:/var/log# ls -l
drwxr-xr-x 2 root root   4096 Jul 19 09:58 riak

解决此问题的一种方法是在启动容器之前在主机上拥有riak用户和组的目录所有权。我在docker镜像中查看了UID / GID(/etc/passwd),它们是:
riak:x:102:105:Riak user,,,:/var/lib/riak:/bin/bash

现在,在启动容器之前,请更改主机目录的所有权,如下所示:
sudo chown 102:105 logs/
sudo chown 102:105 data/

这应该解决。至少现在。详细信息here

关于docker - 装入数据卷后,Riak容器无法启动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45183678/

10-12 22:54