Obter Shell no container Docker em execução
Neste artigo, o autor ensina a obter Shell no container Docker em execução.
Isso me salvou mais vezes do que eu posso contar, podendo depurar um container em execução do jeito que você faria em uma VM “normal”.
Primeiro, veja quais containers estão em execução:
$ docker ps CONTAINER ID IMAGE COMMAND [...] NAMES 925cc10d55df 66cc85c3f275 "gitlab-runner-ser..." [...] runner-f500bed1-project-3888560-concurrent-0-mysql-0-wait-for-service 0ab431ea0bcf 3e3878acd190 "docker-entrypoint..." [...] runner-f500bed1-project-3888560-concurrent-0-mysql-0 4d9de6c0fba1 nginx:alpine "nginx -g 'daemon ..." [...] nginx-container
Para obter um Shell (Bash) em um container de escolha, execute isso:
$ docker exec -i -t nginx-container /bin/bash
O nginx-container determina qual container você deseja inserir. É o nome na última coluna da saída docker↳Docker46 conteúdosE o Docker Swarm? Contextos e motivadores diáriosDevSecOps · ago 2024Automatizando o ambiente de desenvolvimento e testes com DockerDevSecOps · mai 2019MySQL + Adminer + Docker Compose: montando rapidamente um ambiente para usoData · abr 2019Ver tudo em DevSecOps → ps.
Alternativamente, use a ID do container:
$ docker exec -i -t 4d9de6c0fba1 /bin/bash
Não use o docker attach, pois isso lhe dará resultados diferentes se o comando inicial que começou em um container Docker for algo como o MongoDB↳MongoDB19 conteúdosMongoDB e LGPD: Quais os recursos disponíveis?Data · jul 2019Laravel & MongoDB: saiba mais sobre embedded documentsData · abr 2021LEFT JOIN no MongoDB, não é magia… É Aggregation Framework!!!Data · set 2019Ver tudo em Data → ou Redis, a instância será morta.
***
Mattias Geniar faz parte do time de colunistas internacionais do iMasters. A tradução do artigo é feita pela Redação iMasters, com autorização do autor, e você pode acompanhar o artigo em inglês no link: https://ma.ttias.be/get-shell-running-docker-container/







