我已使用docker run -it
以交互方式启动容器,并docker run -d
在后台启动容器。这两个选项似乎是独家的。但是,现在我注意到docker run -dit
(或docker run -itd
)很常见。那么区别是什么呢?真正需要与-it
一起使用-d
?
答案 0 :(得分:20)
是的,有时,即使您-it
-d
当ENTRYPOINT
为bash
或sh
docker run -d ubuntu:14.04
将立即停止,因为bash
无法找到要分配的任何伪终端。您必须指定-it
才能将bash
或sh
分配给伪终端。
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.