dockeattach 与 exec 的区别
时间: 2024-05-31 17:09:03 浏览: 5
`docker attach` 命令会将当前的终端附加到正在运行的 Docker 容器上,使得用户可以直接交互式地操作该容器。而 `docker exec` 则是在容器内部启动一个新的进程并执行指定的命令,不会改变当前终端的状态。
具体来说,`docker attach` 命令将当前终端的标准输入(STDIN)、输出(STDOUT)和错误输出(STDERR)都连接到容器的主进程上,使得用户可以直接与容器进行交互。而 `docker exec` 命令则是在容器内部启动一个新的进程,并将该进程的标准输入、输出和错误输出连接到新的虚拟终端上,该虚拟终端和当前终端是独立的,用户可以在新的虚拟终端中执行指定的命令,而不会影响当前终端的状态。
因此,`docker attach` 主要用于与容器进行交互,而 `docker exec` 则主要用于在容器内部启动新的进程并执行指定的命令。
相关问题
dockerattach 与 exec 的区别
`docker attach` 和 `docker exec` 都可以用于与正在运行的 Docker 容器进行交互。
`docker attach` 命令将当前的终端附加到正在运行的容器的标准输入、输出、错误输出流上,这意味着您可以直接与容器交互,就好像您在容器内部一样。但是需要注意的是,如果您使用 `docker attach` 命令附加到容器上时,如果您按下 `Ctrl+C`,则会中断容器进程。
`docker exec` 命令则不同,它会在正在运行的容器中启动一个新进程,并将其连接到标准输入、输出和错误输出流。这个新进程是在容器内部运行的,与容器的主进程是独立的,所以在使用 `docker exec` 命令时,按下 `Ctrl+C` 不会中断容器进程。
因此,`docker attach` 适合于需要直接与容器交互的情况,比如查看容器中的日志或运行交互式命令行工具。而 `docker exec` 更适合在容器内部启动新进程的情况,比如在容器中运行一些命令或脚本。
docker run与exec
Docker run和exec是Docker中的两个命令。Docker run命令用于创建并启动一个新的容器,而Docker exec命令用于在正在运行的容器中执行命令。
当使用docker run命令时,可以指定要使用的镜像、容器名称、要运行的命令等参数。Docker会根据这些参数创建并启动一个新的容器。执行docker run命令后,会返回一个容器的ID。
而docker exec命令用于在正在运行的容器中执行命令。通过指定容器的ID或名称,以及要执行的命令,可以在容器内部执行相应的操作。执行docker exec命令后,会返回命令的输出结果。
因此,docker run和exec命令的区别在于docker run用于创建并启动新的容器,而docker exec用于在正在运行的容器中执行命令。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)