猿问

如何让docker以daemon方式运行/bin/bash

请教各位达人一个关于docker的问题哈。我想在dockerrun的时候,用-d参数运行/bin/bash,然后让这个bash一直跑着,我要用的时候就dockerattach上去。但是我一跑dockerrun-d..../bin/bash,这个容器就运行结束停下来了。这是为毛啊,有啥解决方案没。。。
收到一只叮咚
浏览 870回答 2
2回答

至尊宝的传说

dockerrun指定的命令如果不是那些一直挂起的命令(比如运行top,不断echo),就是会自动退出的。-d命令是设置detach为true,根据官方的文档,意思是让这个命令在后台运行,但并不是一直运行(我们在一个正常的LinuxTerminal中运行/bin/bash,运行完了也就完了,不会一直挂着等待响应的,所以确实没办法用daemon方式来跑/bin/bash)。这个地方官方早期和现在的文档也确实有些前后不一致,现在是detach,早期的文档说指定-d以daemon方式来运行容器,可能存在一定的误解。另外,如果你需要跑容器里的bash,直接运行dockerrun-i-tCONTAINER_NAME/bin/bash就可以了,如果觉得参数比dockerattach多,可以设置一个别名(alias)来解决:aliasdockerbash='dockerrun-i-tCONTAINER_ID/bin/bash'设置好别名后,直接运行dockerbash就可以进入容器的bash了。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答