App-dozo
view release on metacpan or search on metacpan
lib/App/dozo.pm view on Meta::CPAN
package App::dozo;
our $VERSION = "1.00";
1;
=encoding utf-8
=for html <p align="center"><img src="https://raw.githubusercontent.com/tecolicom/App-dozo/main/images/dozo-logo.png" width="400"></p>
=head1 NAME
dozo - Dôzo, Docker with Zero Overhead
=head1 SYNOPSIS
dozo -I IMAGE [ options ] [ command ... ]
-h, --help show help
--version show version
-d, --debug debug mode (show full command)
-x, --trace trace mode (set -x)
-q, --quiet quiet mode
-n, --dryrun dry-run mode
-I, --image=# Docker image (required unless -D)
-D, --default use default image
-E, --env=# environment variable to inherit (repeatable)
-W, --mount-cwd mount current working directory
-H, --mount-home mount home directory
-U, --unmount do not mount any directory
--mount-mode=# mount mode (rw or ro, default: rw)
-R, --mount-ro mount read-only (shortcut for --mount-mode=ro)
-V, --volume=# additional volume to mount (repeatable)
-B, --batch batch mode (non-interactive)
-L, --live use live (persistent) container
-N, --name=# live container name
-K, --kill kill and remove existing container
-P, --port=# port mapping (repeatable)
-O, --other=# additional docker options (repeatable)
=head1 VERSION
Version 1.00
=head1 USAGE
When executed without arguments, Dôzo starts an interactive shell
inside the container. When arguments are given, they are executed as
a command.
dozo -I alpine # start shell
dozo -I alpine ls -la # run command
By setting C<-D> or your favorite image with C<-I> in F<~/.dozorc>,
you can simply run Dôzo without specifying an image. Since the git
top directory is automatically mounted, git commands work as expected
from anywhere in the tree.
$ dozo # start shell
$ dozo git log -p # run git log -p
With C<-L> option, you can use a persistent container. Tools
installed in the container will remain available for subsequent use.
$ dozo -L # start shell and create container
# apt update && apt install -y cowsay
# exit
$ dozo -L /usr/games/cowsay Dôzo
( run in 3.351 seconds using v1.01-cache-2.11-cpan-788537b7465 )