用于连接docker容器的命令行快捷方式

时间:2017-02-23 17:09:53

标签: bash docker containers

我想知道是否有任何快捷命令在docker容器上连接而不是每次都运行docker exec -it 'container_id' bash

更新

其他解决方案:https://github.com/nielsonsantana/dockerenter

2 个答案:

答案 0 :(得分:2)

这是一个较短的命令行快捷方式

  1. 检查容器是否正在运行
  2. 如果正在运行,请使用docker exec -it <container> bash命令连接到正在运行的容器:
  3. 脚本docker-enter

    #!/bin/bash
    
    name="${1?needs one argument}"
    
    containerId=$(docker ps | awk -v app="$name:" '$2 ~ app{print $1}')
    
    if [[ -n "$containerId" ]]; then
        docker exec -it $containerId bash
    else
        echo "No docker container with name: $name is running"
    fi
    

    然后将其运行为:

    docker-enter webapp
    

答案 1 :(得分:1)

我在OS X上使用以下别名:

alias dex='function _dex(){ docker exec -i -t "$(basename $(pwd) | tr -d "[\-_]")_$1_1" /bin/bash -c "export TERM=xterm; exec bash" };_dex'

在与docker-files相同的目录中,我运行&#34; dex php&#34;进入PHP容器。