Go to file
2024-05-01 14:58:08 -04:00
bin cli: correct image tag, add update recipe 2023-11-19 22:19:49 -05:00
ctx add openvi, .local/bin 2023-11-19 22:11:28 -05:00
.build.yml .build.yml: revert tag definition 2023-11-08 11:47:52 -05:00
.gitignore cleanup 2023-03-16 12:21:36 -04:00
Dockerfile edge->3.19 2024-05-01 14:57:36 -04:00
justfile multi-arch fix 2024-05-01 14:47:42 -04:00
LICENSE initial revision 2023-02-27 13:33:28 -05:00
NOTICE initial revision 2023-02-27 13:33:28 -05:00
README.md Merge branch 'latest' of git.sr.ht:~jswank/alpine-cli into latest 2024-05-01 14:58:08 -04:00

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

$ 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 and ctx/home 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 is in bin/cli. It can be used to quickly start an ephemeral (or persistent) container.

$ 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:

$ bin/cli image=alpine:latest
/ # ^D

License

MIT