API-Docker
view release on metacpan or search on metacpan
lib/API/Docker/API/Containers.pm view on Meta::CPAN
version 0.002
=head1 SYNOPSIS
my $docker = API::Docker->new;
# List containers
my $containers = $docker->containers->list(all => 1);
for my $container (@$containers) {
say $container->Id;
say $container->Status;
}
# Create and start a container
my $result = $docker->containers->create(
Image => 'nginx:latest',
name => 'my-nginx',
ExposedPorts => { '80/tcp' => {} },
);
$docker->containers->start($result->{Id});
# Inspect container details
my $container = $docker->containers->inspect($result->{Id});
say $container->Name;
# Stop and remove
$docker->containers->stop($result->{Id}, timeout => 10);
$docker->containers->remove($result->{Id});
# View logs
my $logs = $docker->containers->logs($result->{Id}, tail => 100);
=head1 DESCRIPTION
lib/API/Docker/API/Images.pm view on Meta::CPAN
use Path::Tiny;
my $tar = path('context.tar')->slurp_raw;
$docker->images->build(context => $tar, t => 'myapp:latest');
# Pull an image
$docker->images->pull(fromImage => 'nginx', tag => 'latest');
# List images
my $images = $docker->images->list;
for my $image (@$images) {
say $image->Id;
say join ', ', @{$image->RepoTags};
}
# Inspect image details
my $image = $docker->images->inspect('nginx:latest');
# Tag and push
$docker->images->tag('nginx:latest', repo => 'myrepo/nginx', tag => 'v1');
$docker->images->push('myrepo/nginx', tag => 'v1');
# Remove image
lib/API/Docker/API/System.pm view on Meta::CPAN
=head1 VERSION
version 0.002
=head1 SYNOPSIS
my $docker = API::Docker->new;
# System information
my $info = $docker->system->info;
say "Docker version: " . $info->{ServerVersion};
# API version
my $version = $docker->system->version;
say "API version: " . $version->{ApiVersion};
# Health check
my $pong = $docker->system->ping;
# Monitor events
my $events = $docker->system->events(
since => time() - 3600,
);
# Disk usage
lib/API/Docker/API/Volumes.pm view on Meta::CPAN
my $volume = $docker->volumes->create(
Name => 'my-volume',
Driver => 'local',
);
# List volumes
my $volumes = $docker->volumes->list;
# Inspect volume
my $vol = $docker->volumes->inspect('my-volume');
say $vol->Mountpoint;
# Remove volume
$docker->volumes->remove('my-volume');
=head1 DESCRIPTION
This module provides methods for managing Docker volumes including creation,
listing, inspection, and removal.
Accessed via C<< $docker->volumes >>.
lib/API/Docker/Container.pm view on Meta::CPAN
=head1 SYNOPSIS
my $docker = API::Docker->new;
# Get container from list or inspect
my $containers = $docker->containers->list;
my $container = $containers->[0];
# Access container properties
say $container->Id;
say $container->Status;
say $container->Image;
# Perform operations
$container->start;
$container->stop(timeout => 10);
my $logs = $container->logs(tail => 100);
$container->remove(force => 1);
# Check state
if ($container->is_running) {
say "Container is running";
}
=head1 DESCRIPTION
This class represents a Docker container and provides convenient access to
container properties and operations. Instances are returned by
L<API::Docker::API::Containers> methods like C<list> and C<inspect>.
Each attribute corresponds to fields in the Docker API container representation.
Methods delegate to L<API::Docker::API::Containers> for operations.
lib/API/Docker/Image.pm view on Meta::CPAN
=head1 VERSION
version 0.002
=head1 SYNOPSIS
my $docker = API::Docker->new;
my $images = $docker->images->list;
my $image = $images->[0];
say $image->Id;
say join ', ', @{$image->RepoTags};
say $image->Size;
$image->tag(repo => 'myrepo/app', tag => 'v1');
$image->remove;
=head1 DESCRIPTION
This class represents a Docker image. Instances are returned by
L<API::Docker::API::Images> methods.
=head2 client
lib/API/Docker/Network.pm view on Meta::CPAN
=head1 VERSION
version 0.002
=head1 SYNOPSIS
my $docker = API::Docker->new;
my $networks = $docker->networks->list;
my $network = $networks->[0];
say $network->Name;
say $network->Driver;
$network->connect(Container => $container_id);
$network->disconnect(Container => $container_id);
$network->remove;
=head1 DESCRIPTION
This class represents a Docker network. Instances are returned by
L<API::Docker::API::Networks> methods.
lib/API/Docker/Volume.pm view on Meta::CPAN
=head1 VERSION
version 0.002
=head1 SYNOPSIS
my $docker = API::Docker->new;
my $volumes = $docker->volumes->list;
my $volume = $volumes->[0];
say $volume->Name;
say $volume->Driver;
say $volume->Mountpoint;
$volume->remove;
=head1 DESCRIPTION
This class represents a Docker volume. Instances are returned by
L<API::Docker::API::Volumes> methods.
=head2 client
( run in 1.331 second using v1.01-cache-2.11-cpan-5623c5533a1 )