初识Docker:BusyBox容器后台运行失败

1、问题描述:我在进行Docker网络实验时,使用docker  run  -d  busybox命令时,busybox无法保持后台长期运行。

=============================================================================================================================

 解决问题可参考:http://dockone.io/question/1544

一、理解以下参数含义

-d:--detach=false 以后台模式运行命令
-i:--interactive=false 开启标准输入,即使未与容器连接,也维持标准输入
-t:--tty=false 使用TTY模式(pseudo-TTY)若要使用bash,则必须设置该选项。

二、举几个例子理解参数作用(拿/bin/sh举例)

  (1)不带任何参数

因为sh需要用户输入命令,但是当前容器并没有开启标准输入,sh所以会退出,容器直接退出。

  (2)只是用-i参数开启标准输入

只使用-i参数,开启标准输入所以你可以和容器进行交互,但是因为没有tty所以不会显示shell。

此时会卡在命令行界面,但是通过另外再开一个窗口,可以发现busybox已经在后台运行,此时可以在新窗口中进行操作。

  (3)只是用-it参数开启标准输入和tty即交互模式

 

  (4)只是用-d是后台运行

因为只使用了后台模式,但是没有-i,所以当没有和容器链接时,不会维持标准输入,sh退出,容器直接退出。

  (5)使用-itd参数开启标准输入和tty即交互模式和后台运行

因为-i的存在,所以即使未与容器连接,也维持标准输入,sh持续运行。

 

posted @ 2019-04-11 20:46  802.11  阅读(3717)  评论(0编辑  收藏  举报