我一直在尝试在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'
如果有人经历过这个和/或有任何想法我会很感激。
谢谢!
答案 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)。