Como inserir e administrar qualquer contêiner Docker em execução

Atualizar

No mesmo dia em que escrevi este protocolo, o Docker lançou 1.3 que apresenta docker exec( ver detalhes ). Deixo este protocolo para mostrar como nsenterfunciona.


Obsoleto (veja acima)

Instale nsenterseguindo estas etapas:

cd /tmp
curl https
://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz | tar -zxf-
cd util
-linux-2.24
./configure --without-ncurses
make nsenter

cp nsenter
/usr/local/bin

Então, basta executar este one-liner:

CONTAINER_ID=$(docker ps -a | grep <container_name> | awk '{print $1 }') && CONTAINER_PID=$(docker inspect --format "{{ .State.Pid }}" $CONTAINER_ID) && sudo nsenter --target $CONTAINER_PID --mount --uts --ipc --net --pid

Não se esqueça de substituir <container_name>pelo nome real do contêiner do Docker que você deseja administrar.