zoukankan      html  css  js  c++  java
  • 扩展 docker 管理命令

    停止多个容器: docker stop <container1> <container2> <container3> 

    停止所有容器: docker stop $(docker ps -qa)  

    我想用  docker stop :all   来生成   docker stop $(docker ps -qa)   命令。就是特殊参数翻译成标准的命令。

    可能感觉也没啥用,但你会了这种思想,以后说不定能解决大问题呢。要不是 docker 命令提示干没了,我就觉得完美。当然,高手不需要命令提示,哈哈。

     

     把代码追加到 /etc/bash.bashrc 文件中

    function docker(){
    
        alias docker=`which $FUNCNAME`
        local manage="$1"
        local args="$@"
        shift 1
    
        case "$manage" in
            'start'|'stop')
                args=${args//':all'/'$(docker ps -qa)'}
            ;;
            'rm')
                args=${args//':all'/'-f $(docker ps -qa)'}
            ;;
            'image')
                args=${args//':all'/'$(docker image ls -qa)'}
                args=${args//':clear'/'$(docker image ls -f "dangling=true" -q)'}
            ;;
            'cp')
                [[ "$args" =~ ':into' ]] && { set -- ${args#*:into};    args=${args//:into*/"$2 $1:$2"};    }
                [[ "$args" =~ ':out' ]] && { set -- ${args#*:outof};  args=${args//:outof*/"$1:$2 $2"};   }
    
            ;;
            'exec')
                [ $# == 1 ] && args=${args//$@/"-it $@ bash"}
            ;;
            'inspect')
                args=${args//':pid'/'--format "{{.Name}}: {{.State.Pid}}"'}
                args=${args//':ip'/'--format "{{.Name}}: {{.NetworkSettings.IPAddress}}"'}
                args=${args//':all'/'$(docker ps -q)'}
            ;;
            'run')
                args=${args//':restart'/"--restart=always"}
                args=${args//':once'/'--rm -it'}
            ;;
        esac
        
        echo docker $args
        eval "docker $args"
    
        unalias $FUNCNAME
    }
  • 相关阅读:
    C语言拯救计划Day4-2之输出数组元素
    C语言拯救计划Day4-1之查找整数
    团队作业4——项目冲刺之日志集合贴
    团队作业6:复审与事后分析
    Alpha阶段项目复审
    事后诸葛亮分析
    团队作业5——测试与发布(Alpha版本)
    第7篇 Scrum 冲刺博客
    第6篇 Scrum 冲刺博客
    第5篇 Scrum 冲刺博客
  • 原文地址:https://www.cnblogs.com/zbseoag/p/14054501.html
Copyright © 2011-2022 走看看