Created
August 6, 2024 11:43
-
-
Save brianwitte/995745b30715c01464938b095076be16 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# 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