85 lines
1.9 KiB
Markdown
85 lines
1.9 KiB
Markdown
# alpine-cli
|
|
|
|
A minimal image for running Linux CLI utilities - shell scripts and similar.
|
|
This is useful for interactive purposes or as the basis for other utility
|
|
images.
|
|
|
|
* [Quickstart](#quickstart)
|
|
* [More Info](#more-info)
|
|
* [Available Images](#available-images)
|
|
* [Helper Script](#helper-script)
|
|
* [License](#license)
|
|
|
|
## Quickstart
|
|
```console
|
|
$ docker run -ti --rm ghcr.io/jswank/alpine-cli
|
|
~ $ ^D
|
|
exit
|
|
|
|
$ bin/cli
|
|
~ $ ^D
|
|
exit
|
|
```
|
|
|
|
## More Info
|
|
|
|
The image is based on *alpine:3*, with a small amount of additional
|
|
setup/installation done. See the [Dockerfile](Dockerfile) and [ctx/home](ctx)
|
|
for the specifics.
|
|
|
|
- Some basic utilities are installed for interative and script-based shell usage
|
|
- A user is created with sudo (`-u root`) access.
|
|
- A few personal preferences are enabled via dotfiles.
|
|
|
|
## Available Images
|
|
|
|
See ghcr.io/jswank/alpine-cli for current available images.
|
|
|
|
|
|
## Helper Script
|
|
|
|
A helper script, using [casey/just](https://github.com/casey/just') is in
|
|
[bin/cli](bin/cli). It can be used to quickly start an ephemeral (or
|
|
persistent) container.
|
|
|
|
```console
|
|
$ bin/cli help
|
|
|
|
Available recipes:
|
|
clean # Remove the persistent container
|
|
default # Invoke the 'run' recipe
|
|
help recipe="help" # Display this listing. Detailed help is available with 'help recipe_name'.
|
|
persist # Run (or attach to) a persistent container
|
|
pull # Pull the latest version of the image
|
|
restart # Remove a running container, and run the default recipe
|
|
run # Run an ephemeral container.
|
|
save i=image # Save the running container as a new image
|
|
|
|
|
|
$ bin/cli
|
|
~ $ ^D
|
|
exit
|
|
|
|
$ bin/cli persist
|
|
~ $ ls
|
|
~ $
|
|
exit
|
|
|
|
$ podman cp foo.json cli:/home/cli # copy a file to the persistent container
|
|
|
|
$ bin/cli persist
|
|
~ $ ls
|
|
foo.json
|
|
~ $ ^D
|
|
exit
|
|
```
|
|
|
|
Bonus - the same script could be used to start other containers:
|
|
```console
|
|
$ bin/cli image=alpine:latest
|
|
/ # ^D
|
|
```
|
|
|
|
## License
|
|
MIT
|