App-dozo
view release on metacpan or search on metacpan
[](https://github.com/tecolicom/App-dozo/actions?workflow=test) [](https://metacpan.org...
<div>
<p align="center"><img src="https://raw.githubusercontent.com/tecolicom/App-dozo/main/images/dozo-logo.png" width="400"></p>
</div>
# NAME
dozo - Dôzo, Docker with Zero Overhead
# 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)
# VERSION
Version 1.00
# 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 `-D` or your favorite image with `-I` in `~/.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 `-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
( run in 0.528 second using v1.01-cache-2.11-cpan-788537b7465 )