Docker创建交互式进程
文章目录
【注意】最后更新于 January 7, 2017,文中内容可能已过时,请谨慎使用。
最近在学习docker,遇到了一个小问题,想了想感觉自己应该记录下。 docker运行或者保持后台很容易了,用上几个参数就好了,可以如果我需要运行一个交互式的程序怎么办呢?
我写了一个简单的dockerfile,把一个socket的服务器端打包成jar,扔到docker里面运行然后输入命令
|
|
出现这个结果
|
|
可是这么一运行,直接返回ID然后就保持后台运行了。
如果不加-d参数呢?
这些确实出现了交互式shell,我也确实可以自己写个client连接上去了。
然后问题来了,我这会宿主这个命令行窗口开着太难受,就想关了,怎么办?
ctrl+c或者直接关闭都会直接导致程序退出
怎么办呢?
看到官方有个attach,使用-d启动,然后,在使用attach呢?
发现在这个问题上实际效果跟-it一样。
难道就没有解决办法了吗?
终于,在网上百度了好多,加上官方的help文档,发现了一个命令exec,不但可以创建交互式命令,也可以创建后台任务。
在开启这个镜像的时候直接
|
|
然后再开启个任务
|
|
问题完美解决~