实际上,docker run -dit(-itd)vs docker run -d之间有什么区别?

时间:2017-01-29 00:35:07

标签: docker

我已使用docker run -it以交互方式启动容器,并docker run -d在后​​台启动容器。这两个选项似乎是独家的。但是,现在我注意到docker run -dit(或docker run -itd)很常见。那么区别是什么呢?真正需要与-it一起使用-d

1 个答案:

答案 0 :(得分:20)

是的,有时,即使您-it

,也有必要加入-d
  1. ENTRYPOINTbashsh

    docker run -d ubuntu:14.04将立即停止,因为bash无法找到要分配的任何伪终端。您必须指定-it才能将bashsh分配给伪终端。

    docker run -itd ubuntu:14.04
    
  2. 如果您希望以后将nano与任何容器一起使用,则必须在图像启动时指定-it。否则你会收到错误。例如,

    docker run --name mongodb -d mongo
    docker exec -it mongodb bash
    apt-get update
    apt-get install nano
    nano somefile
    

    将通过错误

    Error opening terminal: unknown.