docker run 和docker exec 的区别
时间: 2024-08-21 07:00:38 浏览: 98
Docker `run` 和 `exec` 都是 Docker 命令,但它们的作用不同:
1. **docker run**: 这个命令用于启动一个新的容器。它基于一个镜像创建一个新的实例,并可以指定一些运行时选项,如端口映射、环境变量等。当你运行 `docker run` 时,实际上是在启动一个全新的、独立的容器,其资源隔离且生命周期通常与命令行结束同步。
示例:
```
docker run -p 8080:80 nginx
```
2. **docker exec**: 进入已经存在的容器并执行一个命令。这允许你在容器运行过程中直接控制容器,查看日志、管理进程等。`docker exec` 不会启动新容器,而是利用已有的容器实例。
示例:
```
docker exec -it my-running-container bash
```
相关问题
docker run 和 docker exec
`docker run` 和 `docker exec` 是 Docker 命令行工具中的两个不同命令,它们用于不同的目的。
1. `docker run`:用于创建和运行一个新的容器。
-语法:`docker run [选项] <镜像名称> [命令] [参数]`
-说明:`docker run` 命令会根据指定的镜像创建一个新的容器,并在容器内部执行指定的命令。如果没有指定命令,则默认运行镜像中的默认命令。该命令通常用于启动一个全新的容器。
2. `docker exec`:用于在正在运行的容器内部执行命令。
-语法:`docker exec [选项] <容器名称或ID> [命令] [参数]`
-说明:`docker exec` 命令允许你进入一个正在运行的容器,并在容器内部执行指定的命令。该命令通常用于在已经运行的容器上执行额外的操作,如进入容器进行调试、运行特定的命令等。
总结:
- `docker run`用于创建和启动新容器。
- `docker exec`用于在已经运行的容器内部执行命令。
需要注意的是,这两个命令都要求 Docker 守护进程在运行状态下。
docker run和exec区别
回答: Docker run和exec是Docker命令中的两个不同操作。Docker run用于创建并启动一个新的容器实例,每次执行都会创建一个新的容器实例。而Docker exec用于在已经运行的容器中执行命令。\[1\]Docker exec命令需要指定容器的名称或ID以及要执行的命令。执行命令后,会返回命令的执行结果。\[2\]需要注意的是,Docker exec命令在Docker 1.3版本中可能存在Bug,无法正确返回命令的执行结果。\[3\]因此,Docker run和exec的主要区别在于,run用于创建新的容器实例,而exec用于在已经运行的容器中执行命令。
#### 引用[.reference_title]
- *1* *2* *3* [docker run、exec和attach使用和区别](https://blog.csdn.net/fuhanghang/article/details/128826555)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文