linux – 无法附加到运行Docker容器的bash
连接到bash实例时遇到麻烦,使容器保持运行. 更详细一点.我在这里运行容器: $docker run -dt --name test ubuntu bash 现在它应该实际运行,而不是完成. $docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f3596c613cfe ubuntu "bash" 4 seconds ago Up 2 seconds test 在此之后,我试图附加到保持容器运行的bash实例.像这样: $docker attach test 运行此命令我可以写一些东西到stdin,但没有结果跟随.我不确定bash是否正在输入我输入的行. 还有其他一些方法来阻止容器运行吗? 我知道,我可以运行不同的bash实例并使用它docker exec -it test bash.但是更一般的是,有没有办法连接到在Docker容器中运行的进程? 有时,保存在容器内运行的进程的会话会很有用. 解 感谢user2915097指出丢失的-i标志. 所以现在我们可以进行持久的bash会话.例如,让我们设置一些别名并在停止并重新启动容器后重用. $docker run -itd --name test ubuntu bash 要附加到bash实例,只需运行即可 $docker attach test root@3534cbe1e994:/# alias test="Hello,world!" 要从容器中分离而不是停止容器,请按Ctrl p,Ctrl q 然后我们可以停止并重启容器 $docker stop test $docker start test 现在我们可以附加到同一个bash实例并检查我们的别名 $docker attach test root@3534cbe1e994:/# test Hello,world! 一切都很完美! 正如我在我的评论中指出的那样,用例可以运行一些交互式shell作为bash,octave,ipython在Docker容器中保存所有历史记录,导入,变量和临时设置 解决方法正如您所见,您的容器正在运行,尚未完成>它出现在docker ps中,因此它是一个正在运行的容器 你用-dt启动它就可以了 分离(d) 但不是交互式的,因为你不添加-i 通常,你几乎总是提供 – 在一起,它可能是-idt 看到这个帖子 When would I use `–interactive` without `–tty` in a Docker container? 如你想要bash,我认为你应该添加-i 我不知道你为什么使用-d 通常是 docker run -it –rm –name = mytest ubuntu bash 你可以测试一下 (编辑:鲜蔬坊站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- linux – 用于扩展/扩展电子邮件存储服务器的典型
- 窗口放置:类似WinSplit Revolution的Linux应用程
- 结合R awk bash命令
- linux – RHEL7 – /usr/lib64 / libstdc .so.6:
- LINUX学习:关于RedHat Linux无法使用yum命令安装
- linux – 如何将输出从dd命令重定向到/ dev / nu
- 使用Linux上的Team Explorer Everywhere设置工作
- Linux下C语言的调试--转
- 使用scp提示错误ECDSA host key for [ip address
- linux – 编译gcc 4.6.2(不能计算对象文件的后缀