Cómo salgo con gracia de un contenedor docker al que me he conectado usando docker exec -ti, después de la ventana acoplable me conecté a las salidas?
Si salgo del contenedor original, el shell que ejecutó el docker exec el comando está colgado, y la única forma que puedo encontrar para salir de nuevo a su caparazón es matar al docker exec comando desde otra terminal.
¿Hay una manera más elegante?
Esto sucede si inicio el contenedor con --rm o no.
Estoy ejecutando docker 19.03.12 en bash 5.0.16 en gnome-terminal 3.26.3 en Ubuntu 20.04.
Tenga en cuenta que si desea adjuntar a un contenedor para su inspección, debe especificar --interactive , -i y --tty , -t opciones, porque su contenedor ya está ejecutando su proceso principal en segundo plano desde su anterior docker run -d comando. De esa manera, cuando termine de inspeccionar su contenedor, puede salir con gracia de él con ctrl+d o logout comando, al salir de un shell ordinario
@Khushal me dio la respuesta... más o menos. En mi caso, Ctrl+P &lificador; Ctrl+Q todavía no funcionaba incluso al llamar run con -t, pero simple y llanamente Ctrl+C hacer. Para proporcionar un poco de contexto, estoy jugando con un contenedor docker de Rancher, así que YMMV.
Para resumir, cree el contenedor con:docker run -t -d --name=thingy ...
Adjunte como de costumbre con:docker attach thingy
Separe con buen estilo antiguo Ctrl+C.
Por cierto, -t, de acuerdo con los documentos, asigna un pseudo-TTY.
En mi propio entorno Debian que ejecuta 19.03.11, la instancia exec sale inmediatamente y devuelve mi indicador de shell tan pronto como sale el contenedor. ¿Puede proporcionar más detalles para reproducir su problema?
Gracias @user929169 – No conocía los términos correctos para usar. No puedo cerrar esto como duplicado ya que la respuesta está en otro sitio. Publica esto como la respuesta y obtendrás los puntos.