feat(docker): custom docker cli plugins
This commit is contained in:
parent
5bf9f51cd3
commit
ab5dd5c11a
@ -42,7 +42,7 @@ exec --no-startup-id dex --autostart --environment i3
|
||||
|
||||
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
||||
# screen before suspend. Use loginctl lock-session to lock your screen.
|
||||
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
||||
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork -c 000000 -e -f
|
||||
|
||||
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
||||
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
||||
|
||||
25
home/user/.docker/cli-plugins/docker-ips
Executable file
25
home/user/.docker/cli-plugins/docker-ips
Executable file
@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ "$1" == "docker-cli-plugin-metadata" ]]; then
|
||||
cat << HERE
|
||||
{
|
||||
"SchemaVersion": "0.1.0",
|
||||
"Vendor": "example.com",
|
||||
"Version": "v0.1.0",
|
||||
"ShortDescription": "Bash based Docker cli-plugin"
|
||||
}
|
||||
HERE
|
||||
exit
|
||||
fi
|
||||
|
||||
result="CONTAINER NAME;IMAGE;IP\n"
|
||||
|
||||
for container in $(docker ps -q | tr '\n' ' ')
|
||||
do
|
||||
IP="$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' "$container" 2>/dev/null)"
|
||||
container_name="$(docker inspect --format='{{.Name}}' "$container" 2>/dev/null)"
|
||||
image_name="$(docker inspect --format='{{.Config.Image}}' "$container" 2>/dev/null)"
|
||||
result+="${container_name#"/"};$image_name;$IP\n"
|
||||
done
|
||||
|
||||
echo -e $result 2>/dev/null | column -t -s ";"
|
||||
16
home/user/.docker/cli-plugins/docker-shell
Executable file
16
home/user/.docker/cli-plugins/docker-shell
Executable file
@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ "$1" == "docker-cli-plugin-metadata" ]]; then
|
||||
cat << HERE
|
||||
{
|
||||
"SchemaVersion": "0.1.0",
|
||||
"Vendor": "example.com",
|
||||
"Version": "v0.1.0",
|
||||
"ShortDescription": "Bash based Docker cli-plugin"
|
||||
}
|
||||
HERE
|
||||
exit
|
||||
fi
|
||||
|
||||
docker exec -it $2 bash
|
||||
|
||||
@ -152,27 +152,6 @@ mcd () {
|
||||
}
|
||||
|
||||
|
||||
# docker
|
||||
|
||||
# execute bash shell in running container
|
||||
docker_ex() {
|
||||
docker exec -it $1 ${2:-bash}
|
||||
}
|
||||
|
||||
# ips of docker containers
|
||||
docker_ips() {
|
||||
local DOC IP OUT NAME PORT
|
||||
for DOC in $(docker ps -q | tr '\n' ' ')
|
||||
do
|
||||
IP="$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' "$DOC" 2>/dev/null)"
|
||||
PORT="$(docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}}{{(index $conf 0).HostPort}}{{end}}' "$DOC" 2>/dev/null)"
|
||||
NAME="$(docker inspect --format='{{.Name}}' "$DOC" 2>/dev/null)"
|
||||
OUT+="${NAME#"/"}"'\t'"$IP":"$PORT"'\n'
|
||||
done
|
||||
echo -e $OUT 2>/dev/null | column -t
|
||||
}
|
||||
|
||||
|
||||
# toggle wireguard vpn with interface /etc/wireguard/wg0.conf
|
||||
# to allow sudo user toggle vpn without password:
|
||||
## sudo groupadd wireguard
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
|
||||
if systemctl -q is-active graphical.target && [[ $(tty) = "/dev/tty1" ]] && [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]]; then
|
||||
if systemctl -q is-active graphical.target && [[ $(tty) = "/dev/tty1" ]] && [[ -z $DISPLAY ]] && [[ $XDG_VTNR -eq 1 ]]; then
|
||||
exec startx >> ~/.xlogs 2>&1
|
||||
fi
|
||||
|
||||
7
install
7
install
@ -18,6 +18,7 @@ declare -A TARGETS=(
|
||||
["i3"]=".config/i3 .config/i3status .local/bin/i3status_wrapper .config/picom"
|
||||
["bat"]=".config/bat"
|
||||
["psql"]=".psqlrc"
|
||||
["docker"]=".docker/cli-plugins"
|
||||
)
|
||||
|
||||
_die() {
|
||||
@ -181,6 +182,11 @@ cmd_psql() {
|
||||
__install_from_sandbox
|
||||
}
|
||||
|
||||
cmd_docker() {
|
||||
_link_files_in_sandbox ${TARGETS["docker"]}
|
||||
__install_from_sandbox
|
||||
}
|
||||
|
||||
is_target_exists() {
|
||||
test " ${!TARGETS[@]} " =~ " $1 "
|
||||
}
|
||||
@ -219,6 +225,7 @@ cmd_install() {
|
||||
termux) shift; cmd_termux "$@" ;;
|
||||
arch) shift; cmd_arch "$@" ;;
|
||||
psql) shift; cmd_psql "$@" ;;
|
||||
docker) shift; cmd_docker "$@" ;;
|
||||
*) shift; cmd_no_target "$@" ;;
|
||||
esac
|
||||
done
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user