Installing chef-server in a docker container

2020-05-23 19:47发布

问题:

I have been trying to install Chef-Server in a Docker container and I am having some trouble. I am running a VM with an up to date version of Ubuntu 12.04 and latest install of Docker. I run a base Docker Ubuntu 12.04 container and install chef-server, version 11.0.12 and that goes well. The problem is running the required 'sudo chef-server-ctl reconfigure' step after install. The setup freezes at

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

and I get a stacktrace.out of

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

If anyone has experienced this and/or has any ideas I would appreciate it.

Thanks!

回答1:

There is an image available in the docker registry.

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

The Dockerfile is available here:

  • https://github.com/tmc/dockerfiles/tree/master/chef-server


回答2:

I had this problem. Increasing shared memory made it disappear. Run a container with option: --privileged and before starting chef server, run: sysctl -w kernel.shmmax=1288490189 (for me 1288490189 bytes which is 1.2GB was enough).

The docker image suggested in Mark O'Connor answer did not work for me (Unable to start database connection), I tried also cbuisson/chef-server (was reconfiguring endlessly) and finally I came up with my own: xmik/chef-server-docker (used Ubuntu 14.04).