anchor.diff:  |Version of REST API provided by_Docker_ server. You should check on the _Docker_ site which version of REST API is shipped inside installed _Docker_ service.
   
   |serverUri
  -|Uri of _Docker_ server. If the _Docker_ server is running natively on Linux then this will be _localhost_ but if you are using _Boot2Docker_ or a remote _Docker_ server then the URI should be changed to point to the _Docker_ remote _URI_.
  +|Uri of _Docker_ server. If the _Docker_ server is running natively on Linux then this will be _localhost_ but if you are using _Boot2Docker_ or a remote _Docker_ server then the URI should be changed to point to the _Docker_ remote _URI_. It can be a unix socket URI as well in case you are running _Docker_ in Linux (+unix:///var/run/docker.sock+).
   
   |dockerRegistry
   |Sets the location of Docker registry. Default value is the official _Docker_ registry located at https://registry.hub.docker.com
  
positive.code: [WARNING]
  ====
  This extension has been developed and tested on a Linux machine with the _Docker_ server already installed.
  It should work with *Boot2Docker* as well in _Windows_ and _MacOS_ machines, but some parameters like _host ip_ must be the _Boot2Docker_ server instead of _localhost_ (in case you have _Docker_ server installed inside your own machine).
  
  One of the best resources to learn about why using _Boot2Docker_ is different from using _Docker_ in Linux can be read here http://viget.com/extend/how-to-use-docker-on-os-x-the-missing-guide
  ====
  
negative.code: <extension qualifier="docker">
    <property name="serverVersion">1.12</property>
    <property name="serverUri">http://localhost:2375</property>
    <property name="connectionMode">STARTORCONNECT</property>
    <property name="dockerContainers">
        tomcat:
          #more properties
    </property>
  </extension>
  ----
  
  +connectionMode+ is an attribute that can receive three parameters:
  
  STARTANDSTOP:: it is the default one if not set any and simply creates and stops all _Docker_ Containers. If a container is already running, an exception is thrown. 
  STARTORCONNECT:: it tries to bypass the Create/Start Cube commands if a container with the same name is already running, and if it is the case doesn’t stop it at the end. But if container is not already running, Cube will start one and stop it at the end of the execution. 
  STARTORCONNECTANDLEAVE:: it is exactly the same of _STARTORCONNECT_ but if container is started by Cube it won’t be stopped at the end of the execution so it can be reused in next executions.
  
  === Before Stop Events
  
  Sometimes when the tests has finished and container is stopped you want to inspect some data like container console or getting a file from the container to manual inspecting. 
  In these cases you can configure each container to copy console log or copy a file/s from container to local machine just before container is stopped.
  
  Next snippet shows how to copy a directory from container to local disk:
  
  [source, yaml]
  ----
  tomcat_default: 
    image: tutum/tomcat:7.0
    beforeStop: # <1>
      - copy: # <2>
        from: /test
        to: /tmp
  
      - log: # <3>
        to: /tmp/container.log
  ----
  <1> +beforeStop+ goes into the container section and may contain a list of +copy+ and +log+ elements.
  <2> +copy+ is used to notify that we want to copy some directories or files form +from+ container location to +to+ local location.
  <3> +log + is used to notify that we want to copy container log to +to+ local location.
  
  In case of +log+ command the standard output and the error output are returned. 
  +log+ _Docker_ command can receive some configuration paramters and you can set them too in configuration file.
  
  [source, yaml]
  .Example of log parameters
  ----
  beforeStop:
    - log:
      to: /tmp/container.log
      follow: true
      stdout: true
      stderr: false
      timestamps: true
      tail: 10
  ----
  
  === Automatic serverUri resolution
  
  +serverUri+ parameter is where you configure the Uri of _Docker_ server. 
  This parameter is not mandatory and in case you don't set it, _Arquillian Cube_ will use next values:
  
  [cols="2*"]
  |===
  |Linux
  |unix:///var/run/docker.sock
  
  |Windows
  |https://boot2docker:2376
  
  |MacOS
  |https://boot2docker:2376
  |===
  
  == Boot2Docker
  
  If you are using _boot2docker_ there are some parameters that depends on the installation of the _boot2docker_. 
  For example _boot2docker_ ip is not _localhost_ and may change every time you start a new _boot2docker_ instance. 
  Also every time you start _boot2docker_ copies required certificates to home directory of local machine.
  
  _Arquillian Cube_ offers some automatic mechanisms to use _boot2docker_ in _Cube_.
  
  The first one is that +serverUri+ parameter can contain the word +boot2docker+ like for example +https://boot2docker:2376+. 
  When _Cube_ is started it will check if the +serverUri+ contains the _boot2docker_ word, and if it is the case it will run the command +boot2docker ip+ to get the ip and substitute the _boot2docker_ sentence to the ip returned by that command. 
  
  Note that by default _Arquillian Cube_ assumes that +boot2docker+ command is on +PATH+, but you can configure its location by using +boot2dockerPath+ which is the full location (and program name) of _boot2docker_. 
  For example +/opt/boot2dockerhome/boot2docker+.
  
  _boot2docker_ runs in _https_ and you need to set the certificates path. 
  These certificates are copied by _boot2docker_ by default at +~/.boot2docker/certs+. 
  If this propery is not set and the +serverUri+ contains +boot2docker+, then this property is automatically configured to +~/.boot2docker/certs+ so you don't need to worry to set for each environment.
  
  == Building containers
  
  