---
name: "Rex::Box::Docker"
section: "3pm"
platform: "linux"
package: "rex"
version: "1.16.0-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Rex::Box::Docker"
---

# Rex::Box::Docker(3pm)

Rex/Boxes Docker Module

## 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.
