挂载数据卷时,Riak容器无法启动

时间:2017-07-19 07:27:40

标签: docker riak docker-container docker-volume riak-ts

以下命令完美运行,riak服务按预期启动:

  

docker run --name = riak -d -p 8087:8087 -p 8098:8098 -v $(pwd)/ schemas:/ etc / riak / schema basho / riak-ts

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

  

docker run --name = riak -d -p 8087:8087 -p 8098:8098 -v $(pwd)/ logs:/ var / log / riak -v $(pwd)/ schemas:/ etc / riak / schema basho / riak-ts

docker logs riak的输出:

  

+ / usr / sbin / riak start
  riak未能在15秒内启动,
  有关详细信息,请参阅“riak console”的输出   如果你想   等待更长时间,设置环境变量
  WAIT_FOR_ERLANG到了   等待的秒数。

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

1 个答案:

答案 0 :(得分:2)

此问题与挂载的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用户和组。我查看了泊坞窗图片中的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