NAME

Rex::Box::Docker - Rex/Boxes Docker Module

DESCRIPTION

This is a Rex/Boxes module to use Docker Images. You need to have dockerd installed.

EXAMPLES

To use this module inside your Rexfile you can use the following commands.

use Rex::Commands::Box;
set box => "Docker";

task "prepare_box", sub {
   box {
      my ($box) = @_;

      $box->name("mybox");
      $box->url("http://box.rexify.org/box/ubuntu-server-12.10-amd64.tar.gz");
      $box->url("debian:latest");

      $box->network(1 => {
         name => "default",
      });

      $box->auth(
         user => "root",
         password => "box",
      );

      $box->setup("setup_task");
   };
};

If you want to use a YAML file you can use the following template.

type: Docker
vms:
   vmone:
      url: debian:latest
      setup: setup_task

And then you can use it the following way in your Rexfile.

use Rex::Commands::Box init_file => "file.yml";

task "prepare_vms", sub {
   boxes "init";
};

METHODS

See also the Methods of Rex::Box::Base. This module inherits all methods of it.

new(name => $vmname)

Constructor if used in OO mode.

my $box = Rex::Box::Docker->new(name => "vmname");

memory($memory_size)

Sets the memory of a VM in megabyte.

info

Returns a hashRef of vm information.

ip

This method return the ip of a vm on which the ssh daemon is listening.