Docker run参数含义
时间: 2025-05-28 08:07:12 浏览: 30
### Docker `run` 命令参数详解
以下是关于 Docker `run` 命令中各参数的具体含义以及官方文档的相关说明:
#### 1. `-d/--detach`
该选项用于以后台模式运行容器。当启用此选项时,Docker 容器将以分离模式运行,不再占用当前终端[^1]。
```bash
docker run -d nginx
```
#### 2. `-i/--interactive`
保持标准输入流(stdin)处于打开状态,即使未附加到任何会话上也如此。通常与 `-t` 联合使用以启动交互式 Shell 或其他需要用户输入的应用程序[^2]。
#### 3. `-t/--tty`
分配一个伪终端(TTY)。这主要用于提供交互式的命令行界面给用户操作容器内的进程[^2]。
```bash
docker run -it ubuntu bash
```
#### 4. `-p/--publish`
将主机端口映射到容器中的特定端口。支持多种形式定义如何暴露服务端口至外部网络环境。
- 将本地随机端口绑定到容器的 80 端口:
```bash
docker run -p 80 nginx
```
- 显式指定主机和容器之间的端口关系:
```bash
docker run -p 127.0.0.1:8080:80 nginx
```
#### 5. `-v/--volume`
挂载宿主机上的某个目录或文件作为数据卷进入容器内部供其访问或修改。
- 单向同步:仅允许容器读取来自宿主机的数据;
```bash
docker run -v /host/path:/container/path alpine sh
```
- 双向同步:两者之间可以互相写入更改并实时反映对方的变化情况;
```bash
docker run -v d:/docker/data:/data centos ls /data
```
#### 6. `-w/--workdir`
设置工作目录,使后续指令默认在此路径下执行。如果目标位置不存在,则自动创建相应结构。
```bash
docker run -w /app python:latest pwd
```
#### 7. `--name`
为新创建的容器赋予唯一可识别的名字以便于管理维护[^2]。
```bash
docker run --name my_container redis
```
#### 8. `--env/-e`
传递环境变量给正在初始化的新实例过程之中[^1]。
```bash
docker run -e VAR_NAME=value busybox env | grep ^VAR_NAME=
```
#### 9. `--rm`
一旦停止即刻销毁自身资源释放空间避免残留无用对象占据系统性能开销[^2]。
```bash
docker run --rm httpd
```
#### 10. `--network`
配置联网方式比如桥接模式、自定义子网等等满足不同场景需求下的通信机制设计思路[^1]。
```bash
docker network create isolated_network
docker run --network=isolated_network debian ping google.com
```
#### 11. `--storage-opt`
调整磁盘配额大小限制防止个别应用过度侵占整体可用容量造成瓶颈现象发生影响全局稳定性表现水平提升效率优化体验效果显著[^1]。
```bash
docker run -it --storage-opt size=120G fedora /bin/bash
```
---
### 综合示例
以下是一个综合运用多个参数的示例,展示如何通过单条命令完成复杂任务:
```bash
docker run \
--name=my_web_server \
-d \
-p 80:80 \
-v $(pwd):/var/www/html \
-e APP_ENV=production \
php:apache
```
---
###
阅读全文
相关推荐
















