exec:

进入容器后开启一个新的终端,能够在外面操作(罕用)

attach

进入容器正在执行的终端,不会启动新的过程

这里举例来说明区别:
首先, 咱们执行以下命令来创立和启动一个容器:

docker run --name "CustomUbuntu" ubuntu /bin/bash -c "while true; do sleep 1; echo '!!test!!'; done" 

这行命令的作用就是创立一个容器,而后始终循环输入 !!MyUbuntu!! ;
执行之后再终端上会看到如图所示内容:

而后咱们别离执行,execattach 进入容器;

首先执行 docker ps, 能够看到以后正在运行中的容器列表:

680d 执行 exec ,进入到容器外部,能够输出其余的命令:

680d 执行 attach,能够发现进入到创立容器时指定命令所在的窗口中,此时无奈输出其余命令