容器创建与启动
容器的创建与启动是 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 |
--cpus | CPU 限制 | --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等参数保证可维护性
📝 发现内容有误?点击此处直接编辑