进入docker容器的两种方法和区别

exec:

进入容器后开启一个新的终端,可以在里面操作(常用)

attach

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

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

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

这行命令的作用就是创建一个容器,然后一直循环输出 !!MyUbuntu!! ;
执行之后再终端上会看到如图所示内容:
进入docker容器的两种方法和区别_第1张图片

然后我们分别执行,execattach 进入容器;

首先执行 docker ps, 可以看到当前正在运行中的容器列表:
进入docker容器的两种方法和区别_第2张图片

680d 执行 exec ,进入到容器内部,可以输入其他的命令:
进入docker容器的两种方法和区别_第3张图片

680d 执行 attach,可以发现进入到创建容器时指定命令所在的窗口中,此时无法输入其他命令
进入docker容器的两种方法和区别_第4张图片

你可能感兴趣的:(docker)