summaryrefslogtreecommitdiff
path: root/docs/sources/use/chef.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/sources/use/chef.rst')
-rw-r--r--docs/sources/use/chef.rst95
1 files changed, 95 insertions, 0 deletions
diff --git a/docs/sources/use/chef.rst b/docs/sources/use/chef.rst
new file mode 100644
index 0000000000..919eba7a8f
--- /dev/null
+++ b/docs/sources/use/chef.rst
@@ -0,0 +1,95 @@
+:title: Chef Usage
+:description: Installation and using Docker via Chef
+:keywords: chef, installation, usage, docker, documentation
+
+.. _install_using_chef:
+
+Using Chef
+=============
+
+.. note::
+
+ Please note this is a community contributed installation path. The
+ only 'official' installation is using the :ref:`ubuntu_linux`
+ installation path. This version may sometimes be out of date.
+
+Requirements
+------------
+
+To use this guide you'll need a working installation of
+`Chef <http://www.getchef.com/>`_. This cookbook supports a variety of
+operating systems.
+
+Installation
+------------
+
+The cookbook is available on the `Chef Community Site
+<community.opscode.com/cookbooks/docker>`_ and can be installed
+using your favorite cookbook dependency manager.
+
+The source can be found on `GitHub
+<https://github.com/bflad/chef-docker>`_.
+
+Usage
+-----
+
+The cookbook provides recipes for installing Docker, configuring init
+for Docker, and resources for managing images and containers.
+It supports almost all Docker functionality.
+
+Installation
+~~~~~~~~~~~~
+
+.. code-block:: ruby
+
+ include_recipe 'docker'
+
+Images
+~~~~~~
+
+The next step is to pull a Docker image. For this, we have a resource:
+
+.. code-block:: ruby
+
+ docker_image 'samalba/docker-registry'
+
+This is equivalent to running:
+
+.. code-block:: bash
+
+ docker pull samalba/docker-registry
+
+There are attributes available to control how long the cookbook
+will allow for downloading (5 minute default).
+
+To remove images you no longer need:
+
+.. code-block:: ruby
+
+ docker_image 'samalba/docker-registry' do
+ action :remove
+ end
+
+Containers
+~~~~~~~~~~
+
+Now you have an image where you can run commands within a container
+managed by Docker.
+
+.. code-block:: ruby
+
+ docker_container 'samalba/docker-registry' do
+ detach true
+ port '5000:5000'
+ env 'SETTINGS_FLAVOR=local'
+ volume '/mnt/docker:/docker-storage'
+ end
+
+This is equivalent to running the following command, but under upstart:
+
+.. code-block:: bash
+
+ docker run --detach=true --publish='5000:5000' --env='SETTINGS_FLAVOR=local' --volume='/mnt/docker:/docker-storage' samalba/docker-registry
+
+The resources will accept a single string or an array of values
+for any docker flags that allow multiple values.