From ac6aa468f56c007b355cfd7a6cabe23b28a43c2c Mon Sep 17 00:00:00 2001 From: Jason Swank Date: Thu, 16 Mar 2023 12:21:36 -0400 Subject: [PATCH] cleanup --- .gitignore | 1 + README.md | 28 +++++++++++++++++++++++----- bin/cli | 25 +++++++++++++++++++++++++ cli | 26 -------------------------- justfile | 1 - 5 files changed, 49 insertions(+), 32 deletions(-) create mode 100644 .gitignore create mode 100755 bin/cli delete mode 100755 cli diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c49bd7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.env diff --git a/README.md b/README.md index 17ac92e..911f767 100644 --- a/README.md +++ b/README.md @@ -7,11 +7,29 @@ images. ## Quickstart ```console -$ docker run -ti --rm ghcr.io/jswank/alpine-cli -~ $ ^D -exit - -$ just +docker run -ti --rm ghcr.io/jswank/alpine-cli ~ $ ^D exit ``` + +A 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 +~ $ ^D +exit + +bin/cli persist +~ $ ls +~ $ +exit + +podman cp foo.json alpine-cli:/home/cli + +bin/cli persist +~ $ ls +foo.json +~ $ +exit +``` diff --git a/bin/cli b/bin/cli new file mode 100755 index 0000000..7a063c7 --- /dev/null +++ b/bin/cli @@ -0,0 +1,25 @@ +#!/usr/bin/env -S just --working-directory . --justfile + +image := "ghcr.io/jswank/alpine-cli:latest" +n := "cli" + +# run +default: run + +# run a temporary container based on {{image}} +@run: + podman run -ti --rm {{image}} + +# run (or attach to) a perisent container {{n}} +persist: + #!/bin/sh + if [ $(podman ps --all --filter name="{{n}}" -q | wc -l) -gt 0 ]; then + podman start -i -a {{n}} + else + podman run -ti --name {{n}} ghcr.io/jswank/alpine-cli:latest + fi + +# remove the persistent image +clean: + @ podman rm -f {{n}} >/dev/null 2>&1 + diff --git a/cli b/cli deleted file mode 100755 index 803be8a..0000000 --- a/cli +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env -S just --working-directory . --justfile - -image := "ghcr.io/jswank/alpine-cli:latest" -n := "alpine-cli" - -# get a bash shell on a temporary container using {{image}} -all: run - -# get a bash shell on a temporary container using {{image}} -run: - @ docker run -ti --rm {{image}} - -# run (or attach to) a perisent container {{n}} -persist: - #!/bin/sh - already_running=$(docker ps --all --filter name={{n}} --format=json | wc -l ) - if [[ $already_running -gt 0 ]]; then - docker start -i {{n}} - else - docker run -ti --name {{n}} {{image}} - fi - -# remove the persistent image -clean: - @ docker rm -f {{n}} >/dev/null 2>&1 - diff --git a/justfile b/justfile index 7af95e1..ecefa2d 100644 --- a/justfile +++ b/justfile @@ -1,7 +1,6 @@ set dotenv-load image := "jswank/alpine-cli:latest" -n := "alpine-cli" # build a new image build: