docker exec和docker attach都是进入容器的命令但是它么两个有一些区别你们知道吗?
docker attach 语法
attach是Docker自带的命令,命令的语法为:
docker attach 容器ID
docker exec 语法
从Docker的1.3版本起,Docker提供了更加方便的工具exec命令,可以在运行容器内直接执行任意命令。命令语法为:
docker exec -it 容器ID bash
两者区别
- 当多个窗口同是attach到同一个容器的时候,所有窗口都会同步显示;当某个窗口因命令阻塞时,其他窗口也无法执行操作。
- 可以使用 docker exec -it 容器id /bin/bash 进入容器并开启一个新的bash终端。 使用exit或者Ctrl+d退出容器终端时,不会导致容器的停止。
- 使用 docker attach 容器id 进入正在执行容器,不会启动新的终端, 使用exit或者Ctrl+d退出容器时,会导致容器的停止,但是使用Ctrl+p+q退出后容器不会停止。