Otherworld
Otherworld creates a persistent Docker container running your choice of GNU/Linux distribution, with a matching user account (no need to run everything as root) and with x11 and PulseAudio mappings. The container is created the first time you run otherworld and sticks around until you dispose of it manually.
Usage
Run command as user
otherworld <command> <arguments>
Run command as root
otherworld --sudo <command> <arguments>
Run command without printing anything else
otherworld --quiet <command> <arguments>
Remove the container
otherworld --rm
Arguments
These are arguments that go between otherworld
and the command.
--container=
Name to assign to container (default: otherworld_$USER
)
--image=
Image to create the container with (default: image_$CONTAINER_NAME
, or debian:stable
if that image does not exist)
--sudo
Runs command as root, instead of current user.
--rm
Removes the specified container.
--rmi
Removes image generated by the otherworld
script (image_$CONTAINER_NAME
)
--commit
Commits the container to an image named image_$CONTAINER_NAME
.
--build=
Path to build context to build the image from. This overrides --image
/OW_IMAGE
. The resulting image is named image_$CONTAINER_NAME
--volume=
Volume to map to the container. ~
is expanded automatically. If the directory exists in the user's home directory it will be created to ensure it has the correct ownership and permissions.
--env==
Set the environment variable key
to value
in the command. Note that this does not set environment variables in the container itself.
Environment variables
OW_IMAGE
Image to create the container with (default: debian:stable
)
OW_CONTAINER
Name to assign to container (default: otherworld_$USER
)
License
GNU GPL v3 or later