Skip to content

Instantly share code, notes, and snippets.

@brianwitte
Created August 6, 2024 11:43
Show Gist options
  • Save brianwitte/995745b30715c01464938b095076be16 to your computer and use it in GitHub Desktop.
Save brianwitte/995745b30715c01464938b095076be16 to your computer and use it in GitHub Desktop.
#
# NOTE - below are useful podman aliases that are
# modified from this docker-based gist:
#
# https://gist.github.com/jgrodziski/9ed4a17709baad10dbcd4530b60dfcbb
#
function palias-fn {
echo "############################################################################"
echo "# #"
echo "# ------- Useful Podman Aliases -------- #"
echo "# # Usage: #"
echo "# paws <svc> <cmd> <opts> : aws cli in podman with <svc> <cmd> <opts> #"
echo "# pc : podman compose #"
echo "# pcu : podman compose up -d #"
echo "# pcd : podman compose down #"
echo "# pcr : podman compose run #"
echo "# pex <container>: execute a bash shell inside the RUNNING <container> #"
echo "# pi <container> : podman inspect <container> #"
echo "# pim : podman images #"
echo "# pip : IP addresses of all running containers #"
echo "# pl <container> : podman logs -f <container> #"
echo "# pnames : names of all running containers #"
echo "# pps : podman ps #"
echo "# ppsa : podman ps -a #"
echo "# prmc : remove all exited containers #"
echo "# prmid : remove all dangling images #"
echo "# prun <image> : execute a bash shell in NEW container from <image> #"
echo "# psr <container>: stop then remove <container> #"
echo "# #"
echo "# #"
echo "# #"
echo "############################################################################"
}
function pnames-fn {
for ID in $(podman ps | awk '{print $1}' | grep -v 'CONTAINER'); do
podman inspect $ID | grep Name | head -1 | awk '{print $2}' | sed 's/,//g' | sed 's%/%%g' | sed 's/"//g'
done
}
function pip-fn {
echo "IP addresses of all named running containers"
for DOC in $(pnames-fn); do
IP=$(podman inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}} {{end}}' "$DOC")
OUT+=$DOC'\t'$IP'\n'
done
echo -e $OUT | column -t
unset OUT
}
function pex-fn {
podman exec -it $1 ${2:-bash}
}
function pi-fn {
podman inspect $1
}
function pl-fn {
podman logs -f $1
}
function prun-fn {
podman run -it $1 $2
}
function pcr-fn {
podman compose run $@
}
function psr-fn {
podman stop $1
podman rm $1
}
function prmc-fn {
podman rm $(podman ps --all -q -f status=exited)
}
function prmid-fn {
podman image prune
}
# in order to do things like dex $(dlab label) sh
function plab {
podman ps --filter="label=$1" --format="{{.ID}}"
}
function pc-fn {
podman compose $*
}
function p-aws-cli-fn {
podman run \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
amazon/aws-cli:latest $1 $2 $3
}
alias palias=palias-fn # docs
alias paws=p-aws-cli-fn
alias pc=pc-fn
alias pcu="podman compose up -d"
alias pcd="podman compose down"
alias pcr=pcr-fn
alias pex=pex-fn
alias pi=pi-fn
alias pim="podman images"
alias pip=pip-fn
alias pl=pl-fn
alias pnames=pnames-fn
alias pps="podman ps"
alias ppsa="podman ps -a"
alias prmc=prmc-fn
alias prmid=prmid-fn
alias prun=prun-fn
alias psp="podman system prune --all"
alias psr=psr-fn
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment