# 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