chef-server在Docker容器上运行ruby_block [supervise_rabbitmq_sleep]动作

时间:2014-10-28 17:16:40

标签: linux centos chef docker

我有一个ubuntu主机正在运行docker1.2。最重要的是,我创建了一个运行良好的centos6容器!当我尝试安装chef-server-11.x版本时,它会卡在这里:

  * file[/opt/chef-server/sv/rabbitmq/down] action delete (up to date)
  * link[/opt/chef-server/init/rabbitmq] action create (up to date)
  * link[/opt/chef-server/service/rabbitmq] action create (up to date)
  * ruby_block[supervise_rabbitmq_sleep] action run

在谷歌搜索之后,我发现我们需要在/opt/chef-server/embedded/cookbooks/runit/recipes/default.rb中指定平台,我确实看到以下文件包含,但它仍然不起作用:

when "centos"
  include_recipe "runit::upstart"

我是否需要为运行centos的码头工具指定其他内容?

1 个答案:

答案 0 :(得分:1)

我已经解决了上述问题:

因为Docker用自己的默认/ sbin / init替换了默认的/ sbin / init,所以无法在Docker容器中运行Upstart init。但是这会导致一些问题:一些Debian软件包尝试与Upstart通信,并且无法安装。

解决方案:

$sudo dpkg-divert --local --rename --add /sbin/initctl
$sudo ln -s /bin/true /sbin/initctl