docker attach和docker exec的区别【转】


前言
刚开始接触docker的时候,很多命令傻傻分不清楚,其中就有docker attach和docker exec,那他们有什么区别呢,今天就来瞧瞧。

正文
稍微了解容器使用的同学就会知道进入容器有两种方式:

1)docker attach

2)docker exec

他们二者有什么区别呢,或者有什么方便记忆的方法呢,接下来开始表演。

 

以 builder 作为容器名为例。

一、docker attach
进入容器 builder 的命令:

docker attach builder

使用 ls 命令查看目录,确实已经进入容器内,然后 exit 退出容器。

使用容器运行查看命令,查看是否有名为 builder 的容器正在运行:

docker ps | grep builder

结果是没有。

整个流程如下图所示:

 

二、docker exec
进入容器 builder 的命令:

docker exec -it builder bash

然后 exit 退出,使用命令查看 builder 是否运行中:

docker ps | grep builder

结果是有的。

这时,细心的你可能已经知道二者的区别了,是的!前者运行 exit 命令后,容器停止了,但是后者不会。

整个流程截图如下所示:

 

结论
综上所述,可以得出如下结论:docker attach 进入容器,再退出会导致容器停止;docker exec 进入容器,再退出不会导致容器停止。因此,我们推荐使用后者。
————————————————
版权声明:本文为CSDN博主「Data-Mining」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liuzehn/article/details/109200215


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM