Use Chef

Estimated reading time: 1 minute

Note: Please note this is a community contributed installation path.


To use this guide you’ll need a working installation of Chef. This cookbook supports a variety of operating systems.


The cookbook is available on the Chef Supermarket and can be installed using your favorite cookbook dependency manager.

The source can be found on GitHub.


  • Add depends 'docker', '~> 2.0' to your cookbook’s metadata.rb
  • Use resources shipped in cookbook in a recipe, the same way you’d use core Chef resources (file, template, directory, package, etc).
docker_service 'default' do
  action [:create, :start]

docker_image 'busybox' do
  action :pull

docker_container 'an echo server' do
  repo 'busybox'
  port '1234:1234'
  command "nc -ll -p 1234 -e /bin/cat"

Getting Started

Here’s a quick example of pulling the latest image and running a container with exposed ports.

# Pull latest image
docker_image 'nginx' do
  tag 'latest'
  action :pull

# Run container exposing ports
docker_container 'my_nginx' do
  repo 'nginx'
  tag 'latest'
  port '80:80'
  binds [ '/some/local/files/:/etc/nginx/conf.d' ]
  host_name 'www'
  domain_name ''
  env 'FOO=bar'
  subscribes :redeploy, 'docker_image[nginx]'
chat icon Feedback? Suggestions? Can't find something in the docs?
Edit this page Request docs changes Get support
Rate this page: