The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Beam::Make::Docker::Container - A Beam::Make recipe to build a Docker container

VERSION

version 0.003

SYNOPSIS

    ### Beamfile
    convos:
        $class: Beam::Make::Docker::Container
        image: nordaaker/convos:latest
        restart: unless-stopped
        ports:
            - 8080:3000
        volumes:
            - $HOME/convos/data:/data

DESCRIPTION

This Beam::Make recipe class creates a Docker container, re-creating it if the underlying image has changed.

NOTE: This works for basic use-cases, but could use some improvements. Improvements should attempt to match the docker-compose file syntax when possible.

ATTRIBUTES

image

The image to use for this container. Required.

command

The command to run, overriding the image's default command. Can be a list or a string.

volumes

A list of volumes to map. Volumes are strings with the local volume or Docker named volume and the destination mount point separated by a :.

ports

A list of ports to map. Ports are strings with the local port and the destination port separated by a :.

environment

The environment variables to set in this container. A list of NAME=VALUE strings.

restart

The restart policy for this container. One of no, on-failure, always, unless-stopped.

docker

The path to the Docker executable to use. Defaults to looking up docker in PATH.

SEE ALSO

Beam::Make::Docker::Image, Beam::Make, https://docker.com

AUTHOR

Doug Bell <preaction@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2020 by Doug Bell.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.