实际上,docker run -dit和docker run -d有什么不同?
我已经使用docker run -it
交互式启动容器, docker run -d
在后台启动它们。 这两个选项似乎是独占的。 不过,现在我已经注意到docker run -dit
很常见了。 那么区别是什么呢? 何时与-d
一起真正需要?
是的,有时候,甚至包括你也需要包括-d
-
当
ENTRYPOINT
是bash
或sh
docker run -d ubuntu:14.04
会立即停止,导致bash
找不到任何伪terminal被分配。 您必须指定-it
以便可以将bash
或sh
分配给伪terminal。docker run -itd ubuntu:14.04
-
如果将来要将
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.