守护态运行 Detached

当我们启动一个container时,首先需要确定这个container是运行在前台模式还是运行在后台模式。

如果在docker run 后面追加-d=true或者-d,则containter将会运行在后台模式(Detached mode)。此时所有I/O数据只能通过网络资源或者共享卷组来进行交互。因为container不再监听你执行docker run的这个终端命令行窗口。正如之前的例子:

  1. $ sudo docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
  2. 61f37c1940c8ec9f08b107e99655b8a5181ded340415e3c15cf413069d556b73
  3. $...

但你可以通过执行docker attach 来重新挂载这个container里面。

  1. $ sudo docker ps
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  3. 0409679f511a ubuntu "/bin/sh -c 'while t 5 seconds ago Up 3 seconds thirsty_perlman
  4. $ sudo docker attach 0409679f511a
  5. hello world
  6. hello world
  7. hello world

需要注意的是,如果你选择执行-d使container进入后台模式,那么将无法配合”—rm”参数。