docker run 手册
开篇先看一个语句: 用docker启动一个ubuntu
bash
`docker run --name ubuntu_demo -itd ubuntu`命令解释 docker run --name ubuntu_demo -itd ubuntu 的作用是创建一个名为 ubuntu_demo 的容器,并在后台以交互模式运行 Ubuntu 镜像。具体参数解析如下:
--name ubuntu_demo
为容器指定名称ubuntu_demo,便于后续通过名称管理容器(如启动、停止等)。-itd
这是三个参数的组合: •-i(--interactive):保持标准输入(STDIN)打开,允许与容器交互。•
-t(--tty):分配一个伪终端(pseudo-TTY),通常与-i结合使用以实现交互式命令行操作。•
-d(--detach):在后台运行容器,不占用当前终端。ubuntu
指定使用的镜像名称(默认为最新标签ubuntu:latest)。
docker run 常用参数手册 一、容器运行模式
| 参数 | 说明 | 示例 |
|---|---|---|
-d/--detach | 后台运行容器 | docker run -d nginx |
-it | 交互式终端(需组合使用 -i + -t) | docker run -it ubuntu bash |
--rm | 容器退出后自动删除 | docker run --rm alpine |
--restart | 设置重启策略(always/unless-stopped/on-failure) | docker run --restart=always nginx |
二、资源管理
| 参数 | 说明 | 示例 |
|---|---|---|
--cpus | 限制 CPU 核心数 | docker run --cpus=2.5 nginx |
--memory | 限制内存使用(如 512m) | docker run --memory=1g nginx |
--device | 挂载宿主机设备到容器 | docker run --device=/dev/sda:/dev/sda |
三、网络与端口
| 参数 | 说明 | 示例 |
|---|---|---|
-p/--publish | 端口映射(主机端口:容器端口) | docker run -p 8080:80 nginx |
--network | 指定网络模式(host/bridge/none) | docker run --network=host nginx |
四、存储与挂载
| 参数 | 说明 | 示例 |
|---|---|---|
-v/--volume | 挂载宿主机目录到容器 | docker run -v /data:/app/data nginx |
--mount | 更灵活的挂载方式(支持类型如 bind/volume) | docker run --mount type=bind,src=/host,dst=/container |
五、环境与权限
| 参数 | 说明 | 示例 |
|---|---|---|
-e/--env | 设置环境变量 | docker run -e MYSQL_ROOT_PASSWORD=123456 mysql |
--privileged | 赋予容器特权模式(访问宿主机设备) | docker run --privileged nginx |
-u/--user | 指定运行用户(如 1000:1000) | docker run -u www-data nginx |
扩展说明 • 完整参数列表可通过 docker run --help 查看,或参考 Docker 官方文档。
• 若需限制容器权限,可用 --cap-add/--cap-drop 调整 Linux 能力。
• 数据持久化推荐使用 -v 或 --mount,避免容器删除后数据丢失。
以上参数覆盖了容器生命周期管理、资源控制、网络配置等核心场景,更多高级用法可结合具体需求查阅文档。
小结:启动一个docker中的ubuntu,能够自启动,并挂载/data目路到本地目录