63 lines
2.3 KiB
Markdown
63 lines
2.3 KiB
Markdown
# 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.
|
|
|
|
### Creation Options
|
|
|
|
#### --image=<image>
|
|
Image to create the container with (default: `image_$CONTAINER_NAME`, or `debian:stable` if that image does not exist)
|
|
|
|
#### --build=<path>
|
|
Path to build context to build the image from. This overrides `--image`/`OW_IMAGE`. The resulting image is named `image_$CONTAINER_NAME`
|
|
|
|
#### --volume=<volume>
|
|
A volume to mount in 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.
|
|
|
|
#### --container=<container>
|
|
Name to assign to container (default: `otherworld_$USER`)
|
|
|
|
### Command Options
|
|
#### --env=<key>=<value>
|
|
Set the environment variable `key` to `value` in the command. **Note that this does not set environment variables in the container itself**.
|
|
|
|
#### --sudo
|
|
Runs command as root, instead of current user.
|
|
|
|
#### --cd/--cd=<directory>
|
|
Runs command in the specified directory, or current directory by default. If the container is being created, specified directory is added to list of volumes to mount. Otherwise, if the specified directory does not exist in the container, an error is raised.
|
|
|
|
### Container manipulation commands
|
|
#### --rm
|
|
Removes the otherworld container.
|
|
|
|
#### --rmi
|
|
Removes image generated by the `otherworld` script (`image_$CONTAINER_NAME`)
|
|
|
|
#### --commit
|
|
Commits the container to an image named `image_$CONTAINER_NAME`.
|
|
|
|
## 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](https://www.gnu.org/licenses/gpl-3.0.en.html) or later
|