在docker容器中安装chef-server

时间:2014-04-10 18:43:46

标签: chef docker linux-containers

我一直在尝试在Docker容器中安装Chef-Server,但我遇到了一些麻烦。我正在运行一个具有最新版Ubuntu 12.04和最新安装的Docker的VM。我运行一个基础Docker Ubuntu 12.04容器并安装chef-server,版本11.0.12,这很顺利。问题是在安装后运行所需的'sudo chef-server-ctl reconfigure'步骤。设置冻结在

  * 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**

我得到了一个

的stacktrace.out
**SystemExit: ruby_block[supervise_rabbitmq_sleep] (chef-server::rabbitmq line 161) had an error: SystemExit: exit**
/opt/chef-server/embedded/cookbooks/runit/definitions/runit_service.rb:165:in `sleep'
/opt/chef-server/embedded/cookbooks/runit/definitions/runit_service.rb:165:in `block (3 levels) in from_file'

如果有人经历过这个和/或有任何想法我会很感激。

谢谢!

2 个答案:

答案 0 :(得分:9)

docker registry中有一张图片。

docker pull  base/chef-server
docker run -d -p 443:443 base/chef-server

这里有Dockerfile:

答案 1 :(得分:2)

我有这个问题。增加共享内存使其消失。使用选项--privileged运行容器,在启动Chef服务器之前,运行: sysctl -w kernel.shmmax=1288490189(对我而言,1288490189字节,即1.2GB就足够了。)

Mark O'Connor建议的Docker镜像对我不起作用(无法启动数据库连接),我也试过cbuisson/chef-server(无休止地重新配置),最后我想出了自己的:{{ 3}}(使用Ubuntu 14.04)。