bashrc_docker的脚本

来源:互联网 发布:怎么当淘宝店铺客服 编辑:程序博客网 时间:2024/05/21 22:36
# Some useful commands to use docker.# Author: yeasy@github# Created:2014-09-25alias docker-pid="sudo docker inspect --format '{{.State.Pid}}'"alias docker-ip="sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}'"#the implementation refs from https://github.com/jpetazzo/nsenter/blob/master/docker-enterfunction docker-enter() {    #if [ -e $(dirname "$0")/nsenter ]; then    #Change for centos bash running    if [ -e $(dirname '$0')/nsenter ]; then        # with boot2docker, nsenter is not in the PATH but it is in the same folder        NSENTER=$(dirname "$0")/nsenter    else        # if nsenter has already been installed with path notified, here will be clarified        NSENTER=$(which nsenter)        #NSENTER=nsenter    fi    [ -z "$NSENTER" ] && echo "WARN Cannot find nsenter" && return    if [ -z "$1" ]; then        echo "Usage: `basename "$0"` CONTAINER [COMMAND [ARG]...]"        echo ""        echo "Enters the Docker CONTAINER and executes the specified COMMAND."        echo "If COMMAND is not specified, runs an interactive shell in CONTAINER."    else        PID=$(sudo docker inspect --format "{{.State.Pid}}" "$1")        if [ -z "$PID" ]; then            echo "WARN Cannot find the given container"            return        fi        shift        OPTS="--target $PID --mount --uts --ipc --net --pid"        if [ -z "$1" ]; then            # No command given.            # Use su to clear all host environment variables except for TERM,            # initialize the environment variables HOME, SHELL, USER, LOGNAME, PATH,            # and start a login shell.            #sudo $NSENTER "$OPTS" su - root            sudo $NSENTER --target $PID --mount --uts --ipc --net --pid su - root        else            # Use env to clear all host environment variables.            sudo $NSENTER --target $PID --mount --uts --ipc --net --pid env -i $@        fi    fi}
0 0
原创粉丝点击