34 lines
713 B
Bash
34 lines
713 B
Bash
netns.enter () {
|
|
ip netns exec $1 $SHELL
|
|
}
|
|
|
|
alias nse=netns.enter
|
|
|
|
function _complete_nse
|
|
{
|
|
local word=${COMP_WORDS[1]}
|
|
COMPREPLY=($(compgen -W "$(ip netns list | awk '{print $1}' | xargs)" -- ${word}))
|
|
}
|
|
|
|
complete -F _complete_nse netns.enter
|
|
complete -F _complete_nse nse
|
|
|
|
netns.current () {
|
|
ip netns identify $$
|
|
# netns=$(lsns -p $$ -t net -no NSFS)
|
|
# [[ -n $netns ]] && basename $netns
|
|
}
|
|
|
|
netns.ps () {
|
|
ps ef $(ip netns pids $(netns.current))
|
|
}
|
|
|
|
netns.docker_mount () {(
|
|
set -e
|
|
name=$1
|
|
pid=$(docker inspect -f '{{.State.Pid}}' $name)
|
|
[[ ! -d /var/run/netns/ ]] && mkdir -p /var/run/netns/
|
|
ln -sfT /proc/$pid/ns/net /var/run/netns/$name
|
|
netns.enter $name
|
|
)}
|