docker run和exec
时间: 2023-11-23 21:58:03 浏览: 37
`docker run`命令用于在新容器中运行一个命令。它的基本语法如下:
```
docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
```
其中,`OPTIONS`是可选的参数,`IMAGE`是要运行的镜像名称,`COMMAND`是要在容器中运行的命令,`ARG`是命令的参数。例如,要在容器中运行一个`nginx`服务器,可以使用以下命令:
```
docker run -d -p 80:80 nginx
```
这个命令将在后台运行一个`nginx`容器,并将容器的80端口映射到主机的80端口。
`docker exec`命令用于在运行中的容器中执行一个命令。它的基本语法如下:
```
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
```
其中,`OPTIONS`是可选的参数,`CONTAINER`是要执行命令的容器名称或ID,`COMMAND`是要在容器中运行的命令,`ARG`是命令的参数。例如,要在名为`mycontainer`的容器中运行一个`bash` shell,可以使用以下命令:
```
docker exec -it mycontainer /bin/bash
```
这个命令将在`mycontainer`容器中打开一个交互式的`bash` shell。
相关问题
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 ]
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用于在正在运行的容器中执行命令。