栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么“ docker Attach”挂起?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么“ docker Attach”挂起?

它并没有真正 挂起 。正如您在下面的注释中看到的那样(您正在

/bin/bash
以命令“ ” 运行),这似乎是附加时的预期行为。

据我了解,您附加到正在运行的shell上,而只是stdin / stdout / stderr(取决于与run命令一起传递的选项)将仅向您显示 _从那一刻起 进出 _ 的一切 。(希望您有更深入的知识的人可以在更高层次上对此进行解释)。

正如我在对您的问题的评论中所写的那样,有一些人在docker github存储库上打开了一个描述类似行为的问题:

  • docker attach [container]挂起,需要输入#8521
  • docker attach在附加到容器时挂起设置终端状态

既然您提到了shell,我假设您已经有一个shell运行了。attach不会启动新进程,因此连接到正在运行的进程的in /​​ out /
err流的预期行为是什么?我没有考虑这个。当然,这是连接到运行中的shell的预期行为,但这是否合乎需要?

能否在docker Attach上刷新stdout /
stderr从而强制打印shell提示,或者比这还要复杂?这是我个人将“附加”到已经运行的shell上时的期望。

如有必要,请随时结束此问题,我只是觉得有必要对此进行记录并获得一些反馈。

  • 从拍摄评论这个GitHub的问题。您可以在此问题的评论中找到更多见解。

如果不是

enter
开始输入命令,而是看不到 多余的 空提示行。如果你要跑步

$ docker exec -it ubuntu <container-ID-or-name> bash

<container-ID-or-name>
运行后容器的ID或名称在哪里
docker run -it -dubuntu
(因此问题中为3aef6e642327或condescending_sammet),它将运行一个 命令,因此不会出现附加到现有命令的“
stdout问题”。

如果您

Dockerfile
的目录中包含:

FROM ubuntu:latestADD ./script.sh /timescript.sh RUN chmod +x /timescript.shCMD ["/timescript.sh"]

script.sh
在同一目录中包含一个简单的bash脚本,其中包括:

#!/bin/bash#trap ctrl-c and exit, couldn't get out#of the docker container once attachedtrap ctrl_c INTfunction ctrl_c() {    exit}while true; do    time=$(date +%N)    echo $time;    sleep  1;done

然后构建(在此示例中,与Dockerfile和script.sh位于同一目录中)并使用

$ docker build -t nan-xiao/time-test ...stuff happening...$ docker run -itd --name time-test nan-xiao/time-test

最后

attach

$ docker attach time-test

您最终将附着在容器上,并每秒打印一次时间。(CTRL-C退出)

例子2

或者

Dockerfile
,例如,如果您包含以下内容:

FROM ubuntu:latestRUN apt-get -y install irssiENTRYPOINT ["irssi"]

然后在同一目录中运行:

$ docker build -t nan-xiao/irssi-test .

然后运行它:

$ docker run -itd --name irssi-test nan-xiao/irssi-test

最后

$ docker attach irssi-test

您最终将

irssi
没有一个特定的行为而正在运行的窗口中。当然,您可以替代
irrsi
其他程序。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/405927.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号