docker attach和docker exec之间的区别
两者都将能够在容器中执行命令。两者都可以分离容器。
那么docker exec和docker attach之间的真正区别是什么?
回答:
有一个提交PR添加到文档中:
此命令(
attach
)不适用于在容器中运行新进程。请参阅:docker exec
。
回答“ Docker。如何在运行的容器(run -d
)中获取bash \ ssh
? ”阐明了区别:
(docker> = 1.3)如果使用
docker
attach,
。
因此,如果我们想使用容器外壳的新实例打开新终端,我们只需要运行
docker
exec
如果docker容器是使用
/bin/bash
命令启动的,则可以使用attach访问它,如果不是,则需要 执行命令以在容器内创建bash实例
exec
。
如本期所述:
- Attach不是在容器中运行额外的东西,而是用于附加到正在运行的进程。
- “
docker exec
”专门用于在已启动的容器中运行新事物,无论是外壳还是其他进程。
相同的问题添加:
尽管
attach
名称不明确,尤其是由于LXC命令lxc-attach
(更类似于docker exec <container>
/bin/sh,但特定于LXC),但它确实具有将您真正地附加到Docker启动的进程的特定目的。
, ,例如,附加到
/bin/bash
会给您一个shell,但是附加到redis-server就像您直接在没有守护进程的情况下直接启动redis。
以上是 docker attach和docker exec之间的区别 的全部内容, 来源链接: utcz.com/qa/427750.html