# 运行容器（docker run）

URL: https://caijiao.org/docker/containers/run
Source: docs/docker/containers/run.md
Description: 本章节详细介绍 docker run 命令的用法，包括启动容器、端口映射、环境变量设置、挂载卷、后台运行和交互模式，帮助开发者快速上手容器运行与管理。

`docker run` 是 Docker 中用于创建并启动容器的核心命令。理解其参数与用法，可以灵活运行各种镜像并配置容器环境。

## 1. 基本用法

```bash
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
````

示例：

```bash
docker run ubuntu:20.04 /bin/bash
```

* `ubuntu:20.04`：使用的镜像
* `/bin/bash`：启动容器后执行的命令

## 2. 常用选项

### 2.1 交互式与终端

```bash
docker run -it ubuntu:20.04 /bin/bash
```

* `-i`：保持 STDIN 打开
* `-t`：分配伪终端，便于交互

### 2.2 后台运行

```bash
docker run -d nginx:latest
```

* `-d`：容器在后台运行（Detached 模式）

### 2.3 容器命名

```bash
docker run --name mynginx -d nginx
```

* 指定容器名称，便于管理

### 2.4 端口映射

```bash
docker run -p 8080:80 nginx
```

* 将宿主机 8080 端口映射到容器 80 端口

### 2.5 挂载卷

```bash
docker run -v /host/data:/container/data nginx
```

* 持久化数据，防止容器删除丢失

### 2.6 设置环境变量

```bash
docker run -e ENV=production myapp:1.0
```

## 3. 查看容器状态

```bash
docker ps         # 查看运行中容器
docker ps -a      # 查看所有容器
docker logs mynginx
```

## 4. 停止与删除容器

```bash
docker stop mynginx
docker rm mynginx
```

---

掌握 `docker run` 命令的各类参数和使用场景，是高效管理容器的基础。
