Add docker exec + fzf function
This commit is contained in:
parent
0196f51b32
commit
e62370ffe8
20
zshrc
20
zshrc
|
@ -2372,6 +2372,26 @@ fopen() {
|
||||||
}
|
}
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
|
# dexec − Docker exec in a running container {{{
|
||||||
|
# Display Docker running containers
|
||||||
|
# Allow to specify the shell (default to bash)
|
||||||
|
dexec() {
|
||||||
|
local images_name
|
||||||
|
local container_name
|
||||||
|
local container_id
|
||||||
|
|
||||||
|
images_name=$(docker container ls --format "table {{.Image}}\t {{.RunningFor}}\t {{.Ports}}\t {{.Names}}" | fzf --prompt='docker> ' --tac )
|
||||||
|
|
||||||
|
## Extract container_name from the selected line
|
||||||
|
container_name=$(printf '%b' "${images_name}" | awk '{ print $NF }')
|
||||||
|
## Get container_id from the selected container_name
|
||||||
|
container_id=$(docker container ls --quiet --filter=name="${container_name}")
|
||||||
|
|
||||||
|
printf "%b\n" "Try to enter to Docker container (named : ${container_name})"
|
||||||
|
docker exec -it "${container_id:-/dev/null}" "${1:-bash}"
|
||||||
|
}
|
||||||
|
# }}}
|
||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
# zsh-syntax-highlighting {{{
|
# zsh-syntax-highlighting {{{
|
||||||
## Activate if plugin is available
|
## Activate if plugin is available
|
||||||
|
|
Loading…
Reference in New Issue