请教一个关于 docker 的问题

2018-10-24 16:46:31 +08:00
 gesse
我 exec 进入容器(得到的虚拟终端是 pts/1 ),运行了一个 python 命令,然后不小心把控制台终端关闭了

我再打开一个控制台终端 exec 进入容器,得到的是另外一个虚拟终端 pts/2,如果我想再进入 pts/1 进行后续操作,用什么命令?
1493 次点击
所在节点    程序员
8 条回复
xiaoxinshiwo
2018-10-24 17:41:42 +08:00
xiaoxinshiwo
2018-10-24 17:42:00 +08:00
我跟你的咋不一样
guader
2018-10-24 17:46:25 +08:00
docker attach ?
alixali
2018-10-24 17:51:57 +08:00
可以先看一下之前的容器还在不在,找一下容器 id,然后用楼上的命令。
gesse
2018-10-25 10:33:44 +08:00
@xiaoxinshiwo
运行 /bin/bash 然后再 ps aux
gesse
2018-10-25 10:34:13 +08:00
@guader
@alixali

attach 是进入 pts/0 虚拟终端
guader
2018-10-25 16:49:38 +08:00
@gesse 哦哦,如果你是想要继续在 pts/1 的环境下操作的话,可以试试重定向 pts 设备的标准输入输出。
或者用下面这个办法:
先开一个 bash 进程
docker exec -ti xxx bash
然后
script -f /dev/pts/1
然后你就可以在当前 pts 比如 pts/2 下面向 pts/1 发送命令了并获取输出了。
不知道是不是这个意思哈?
guader
2018-10-25 17:01:49 +08:00
@gesse 哎呀抱歉,这样应该也不行,仅仅是把当前 pts 的标准输出重定向过去了而已

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/500718

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX