【发布时间】:2016-11-30 17:32:32
【问题描述】:
我通常想在 docker 映像上打开一个 bash shell。一个多命令过程是:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bba983d72d48 scubbo/datenight "apachectl -DFOREGROU" 7 days ago Up 7 days 0.0.0.0:80->80/tcp pensive_bell
$ docker exec -it bba983d72d48 bash
我想快捷方式。但是,我收到以下错误:
$ docker ps | awk 'NR > 1 {print $1}' | xargs -I {} docker exec -it {} bash
cannot enable tty mode on non tty input
通过一点谷歌搜索,我找到了 this issue - 但是,如果我放弃 -t 选项,命令会立即“完成”。
我已确认手动将$ docker ps | awk 'NR > 1 {print $1}' 的输出复制粘贴到docker exec -it {} bash 的适当位置是成功的。
编辑:从管道中删除docker ps,以下也失败了:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4f20409c37b7 scubbo/datenight "apachectl -DFOREGROU" 8 days ago Up 8 days 0.0.0.0:80->80/tcp drunk_northcutt
$ docker ps -q
4f20409c37b7
$ echo '4f20409c37b7' | xargs -I {} docker exec -it {} bash
cannot enable tty mode on non tty input
【问题讨论】: