全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-21 6 分钟 ✍️ juanwangdev

容器创建与启动

容器的创建与启动是 Docker 的基础操作,下面详细介绍。

创建容器

docker create 命令

创建容器但不启动:

Bash
# 创建容器
docker create --name my-nginx nginx:latest

# 输出容器 ID
a1b2c3d4e5f6...

# 查看创建的容器
docker ps -a --filter "name=my-nginx"

docker run 命令(创建并启动)

docker run = docker create + docker start

Bash
# 基本用法
docker run nginx:latest

# 指定名称
docker run --name my-nginx nginx:latest

# 后台运行
docker run -d --name my-nginx nginx:latest

# 端口映射
docker run -d --name my-nginx -p 8080:80 nginx:latest

# 挂载数据卷
docker run -d --name my-nginx -v /host/path:/container/path nginx:latest

# 设置环境变量
docker run -d --name my-mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0

前台与后台运行

前台运行(默认)

Bash
# 前台运行,容器日志输出到当前终端
docker run nginx:latest

# 特点:
# - 占用当前终端
# - Ctrl+C 会停止容器
# - 适合调试和查看日志

后台运行

Bash
# -d 参数后台运行
docker run -d --name my-nginx nginx:latest

# 特点:
# - 释放当前终端
# - 容器在后台持续运行
# - 使用 docker logs 查看日志

常用参数

完整参数示例

Bash
docker run -d \
  --name web-app \
  -p 8080:80 \
  -v /data/nginx/html:/usr/share/nginx/html \
  -e NGINX_HOST=example.com \
  --restart unless-stopped \
  --network bridge \
  nginx:latest

常用参数说明:

参数说明示例
-d后台运行-d
--name容器名称--name my-app
-p端口映射-p 8080:80
-v数据卷挂载-v /host:/container
-e环境变量-e KEY=value
--restart重启策略--restart unless-stopped
--network网络模式--network bridge
--cpusCPU 限制--cpus=1.5
--memory内存限制--memory=512m

运行交互式容器

Bash
# 运行交互式终端
docker run -it ubuntu:latest /bin/bash

# 输出
root@a1b2c3d4e5f6:/#

# 参数说明:
# -i: 保持标准输入打开
# -t: 分配伪终端

# 退出容器
exit
# 或 Ctrl+D

使用 -it 运行交互式容器,退出时 exit 会停止并退出容器。如果仅退出终端但保持容器运行,使用 Ctrl+P 然后 Ctrl+Q

要点总结

  • docker create 仅创建容器不启动,docker run 创建并启动
  • 前台运行占用终端,适合调试;后台运行(-d)释放终端,适合生产
  • docker run 支持端口映射、数据卷挂载、环境变量等配置
  • 交互式容器使用 -it 参数,分配伪终端保持输入
  • 生产环境建议指定 --name--restart 等参数保证可维护性

📝 发现内容有误?点击此处直接编辑

← 上一篇 镜像查看与删除
下一篇 → 容器删除与清理
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库