hub - docker tutorial
¿Cuándo usaría `--interactive` sin`--tty` en un contenedor Docker? (1)
Dado que -i mantiene STDIN abierto incluso si no está conectado, permite la composición (tuberías).
Por ejemplo:
docker run ubuntu printf "line1/nline2/n" | docker run -i ubuntu grep line2 | docker run -i ubuntu sed ''s/line2/line3/g''
(Fuente: número 14221 )
O:
$ echo hello | docker run -i busybox cat
hello
(Fuente: número 12401 )
Ahora imagine que no está delante de un teclado y que se usa en un script donde realmente puede escribir en los procesos a través de algo mejor que un shell
|: ejemplo github.com/docker/docker/blob/…
Hice algo de googlear y no he tenido la suerte de encontrar un caso en el que hubiera ejecutado la ejecución de docker run -i some_image lugar de la docker run -it some_image .
Si ejecuto docker run -i --name sample some_image bash , el contenedor se ejecuta en primer plano, pero no puedo interactuar con él desde el shell en el que estoy. No puedo detenerlo con CTRL + C. Sin embargo, puedo abrir otro shell y ejecutar el docker exec -it sample bash y obtener acceso al contenedor.
Si ejecuto el docker run -i -d --name sample some_image bash , el contenedor se docker run -i -d --name sample some_image bash inmediatamente. Puedo reiniciarlo con el docker start sample y luego se mantiene activo, así que puedo ejecutar el docker exec -it sample bash e interactuar con él nuevamente.
Sin embargo, en todos estos casos, finalmente termino usando -it para interactuar con mis contenedores. ¿En qué mundo no necesitaría la bandera -t ?
Aclamaciones