Como faço para sair graciosamente de um contêiner docker ao qual me conectei usando docker exec -ti, depois que o docker eu me conectei às saídas?
Se eu sair do contêiner original, o shell que executou o docker exec o comando está pendurado, e a única maneira que posso encontrar para sair de volta para sua concha é matar o docker exec comando de outro terminal.
Existe uma maneira mais graciosa?
Isso acontece se eu iniciar o contêiner com --rm ou.
Estou executando o docker 19.03.12 no bash 5.0.16 no gnome-terminal 3.26.3 no Ubuntu 20.04.
Tenha em mente que, se você deseja anexar a um contêiner para inspeção, você deve especificar --interactive , -i e --tty , -t opções, porque seu contêiner já está executando seu processo principal em segundo plano do anterior docker run -d comando. Dessa forma, quando você terminar de inspecionar seu contêiner, poderá sair graciosamente dele com ctrl+d ou logout comando, como você sair de um shell comum
@ Khushal me deu a resposta ... mais ou menos. No meu caso, Ctrl+P &lificador; Ctrl+Q ainda não funcionou mesmo ao ligar run com -t, mas simples velho Ctrl+C sabio. Para fornecer algum contexto, estou brincando com um contêiner Rancher docker, então YMMV.
Para resumir, crie o contêiner com:docker run -t -d --name=thingy ...
Anexe como de costume com:docker attach thingy
Separar com bom antiquado Ctrl+C.
A propósito, -t, segundar documento, aloca um pseudo-TTY.
Em meu próprio ambiente Debian executando 19.03.11, a instância exec sai imediatamente e retorna meu prompt de shell assim que o contêiner sai. Você pode fornecer mais detalhes para reproduzir seu problema?
Obrigado @ user929169 – eu não sabia os Termos certos para usar. Não consigo fechar isso como duplicado, pois a resposta está em outro site. Poste isso como a resposta e você receberá os pontos.