Docker常用命令的区别

1.docker run 命令时创建容器时启动容器;

   docker exec是针对已经创建好的容器执行启动操作;

2.exec -i:  --interactive(相互作用的)       Keep STDIN open even if not attached(即使没有连接,也要保持STDIN打开);

   exec -t:   --tty                          Allocate a pseudo-TTY(分配一个 冒充的终端设备);

   如果只用-i时,由于没有分配伪终端,看起来像pipe执行一样。但是执行结果、命令 返回值都可以正确获取,加上-t就有了console的界面,交互能力更好。

   如果只使用-t参数,则可以看到一个console窗口,但是执行命令会发现由于没有获得stdin 的输出,无法看到命令执行情况。

3.-attach 直接进入容器 进入已经存在的命令 的终端,不会启动新的进程,如果退出,则会终止整个docker 容器的进程。

   -exec 则是在容器中打开新的终端,并且可以启动新的进程,直接退出也不会影响docker容器的进程。

 一般-exec参数用的较多。

4.当以exec进入docker容器时后,输入“exit”(Ctrl + D)或者按键“Ctrl + C”退出container时,这个container仍然在后台运行。

5.  docker run: 从镜像启动一个容器,即创建一个新的容器。

  docker start: 运行已停止的容器。

tips:

①-d 参数

在后台执行一个进程。可以看出,如果一个命令需要长时间进程,使用-d参数会很快返回。 

程序在后台运行。

②查看docker容器端口的映射信息

docker container port container_name

原文地址:https://www.cnblogs.com/DennyT/p/11590620.html