Docker经典面试题:exec 和 attach 区别

我们经常会通过exec 命令进入容器,除此之外,还有attach 命令也可以进入容器内。那么它们两个之间有啥区别呢?

Docker经典面试题:exec 和 attach 区别

exec

exec 是通过在容器内启动一个新的进程,譬如通过

# docker exec -it  容器ID sh

进入容器后,会在容器里面启动一个新的进程。和容器内进程共享 PID、网络等namespace。我们可以通过 exec 多次进入一个容器,每个exec 都会启动一个独立的 shell 进程,当我们执行完exec 后,可以通过exit 退出容器,容器本身继续正常运行。

attach

attach 是挂载到容器里面,和exec 不一样,attach 只能挂载一次。

# docker attach 容器ID

attach会接管容器的PID 为1 的进程标准输入和输出以及错误输出,当attach 到容器后,我们在控制台的输入将作为进程的输入,进程的输出也会输出到当前控制台。当我们在控制台执行 CTRL+C 退出attach 的时候,也就是想PID 为1 的进程发送 SIGINT 信号,那么容器也会跟着退出。

展开阅读全文

页面更新:2024-05-27

标签:区别   都会   控制台   容器   进程   信号   也就是   命令   独立   错误   两个   标准   经典   科技   网络

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top