docker attach 和 exec 的区别
Posted 看,未来
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker attach 和 exec 的区别相关的知识,希望对你有一定的参考价值。
一个好习惯是使用 run 启动容器,用 exec 运行容器,用 Ctrl+P+Q 退出容器。
attach 和 exec 都可以进入容器,不过如果是使用 attach 进入容器后关闭容器,则会被认为是销毁了容器,而 exec 则不然。
这里有一点要注意,就是如果 attach 进入一个容器,然后将容器关闭掉了,那么 exec 出来的容器也都没了。
注意:Ctrl + P + Q 是挂起,exit 是关闭。
提问:attach 对容器的修改会持久化吗?exec 呢?如果会,需要满足什么条件?如果不会,为什么?
答:会的,而且多个 exec/attach 进入同一个容器的话,修改是会被同步的。
再提问:
在一个运行中的容器内的declare 一个变量,在另一个容器内可以看到吗?
答:看不到的。
这样理解:
镜像就是一个小系统,在上面打开的所有镜像都是进程。所以,该隔离的隔离,不该隔离的都不隔离。
以上是关于docker attach 和 exec 的区别的主要内容,如果未能解决你的问题,请参考以下文章
docker进入当前正在运行容器的两种方式(exec和attach的区别)
docker进入当前正在运行容器的两种方式(exec和attach的区别)
docker进入当前正在运行容器的两种方式(exec和attach的区别)
docker CLI官方教程 run方法解析(docer run docker attach 与 docker exec的区别)