Use Chef
Note: Please note this is a community contributed installation path.
Requirements
To use this guide you’ll need a working installation of Chef. This cookbook supports a variety of operating systems.
Installation
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.
Usage
- 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] end docker_image 'busybox' do action :pull end docker_container 'an echo server' do repo 'busybox' port '1234:1234' command "nc -ll -p 1234 -e /bin/cat" end
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 end # 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 'computers.biz' env 'FOO=bar' subscribes :redeploy, 'docker_image[nginx]' end
© 2017 Docker, Inc.
Licensed under the Apache License, Version 2.0.
Docker and the Docker logo are trademarks or registered trademarks of Docker, Inc. in the United States and/or other countries.
Docker, Inc. and other parties may also have trademark rights in other terms used herein.
https://docs.docker.com/v1.12/engine/admin/chef/