Docker 容器的基本概念与操作指南
·
Docker 容器的基本概念与操作指南
🐳 Docker 容器的基本概念与操作指南
容器是 Docker 的核心。理解容器是什么、如何操作容器,是掌握 Docker 的关键一步。本文将通过通俗的解释与实际命令示例,带你全面了解 Docker 容器的概念与基本操作。
🧠 一、什么是 Docker 容器?
通俗地讲,Docker 容器(Container) 就像一个“轻量级的虚拟机”。
它在宿主机系统上运行,却与宿主机相互隔离,拥有独立的文件系统、网络环境与进程空间。
✅ 形象理解:
- 虚拟机:是一整台“模拟电脑”(带系统内核)
- 容器:只是运行在同一内核上的“独立应用空间”
| 对比项 | 虚拟机 | Docker 容器 |
|---|---|---|
| 启动速度 | 分钟级 | 秒级 |
| 系统资源占用 | 高 | 低 |
| 运行环境 | 独立操作系统 | 共享宿主机内核 |
| 部署方式 | 启动整个系统 | 启动单个应用 |
| 镜像体积 | 几 GB | 几百 MB 或更小 |
🧩 结论:
容器 = 镜像的运行实例,是一种更轻量、更高效的虚拟化技术。
📦 二、镜像与容器的关系
你可以把它们理解为“类与对象”的关系:
| 概念 | 类比 |
|---|---|
| 镜像(Image) | 模板、蓝图 |
| 容器(Container) | 镜像运行后的实例 |
例如:
docker run -d -p 8080:80 nginx
这个命令会:
- 从镜像仓库下载
nginx镜像; - 基于该镜像创建一个容器;
- 启动 Nginx 服务,并映射端口到宿主机。
⚙️ 三、Docker 容器常用命令
下面列出一些最常用的容器管理命令 👇
🐣 1. 创建并运行容器
docker run [参数] 镜像名[:标签]
常用参数说明:
| 参数 | 说明 |
|---|---|
-d | 后台运行容器(detached) |
-p | 端口映射(宿主机:容器) |
--name | 自定义容器名称 |
-v | 挂载宿主机目录 |
-e | 设置环境变量 |
--rm | 退出时自动删除容器 |
示例:
docker run -d -p 8080:80 --name mynginx nginx
运行后访问:
http://localhost:8080
即可看到默认的 Nginx 欢迎页。
📋 2. 查看容器状态
docker ps # 查看正在运行的容器
docker ps -a # 查看所有容器(包括已退出的)
🔍 3. 查看容器详细信息
docker inspect 容器名或ID
该命令会显示容器的网络、挂载、启动参数等详细信息。
🧱 4. 进入容器交互终端
docker exec -it 容器名 bash
例如:
docker exec -it mynginx bash
进入后你就能像登录一台 Linux 系统一样在容器中操作。
🧹 5. 停止与删除容器
docker stop 容器名 # 停止运行
docker start 容器名 # 重新启动
docker restart 容器名 # 重启容器
docker rm 容器名 # 删除容器
docker rm -f 容器名 # 强制删除运行中容器
🧩 6. 查看容器日志
docker logs -f 容器名
示例:
docker logs -f mynginx
-f 参数可实时跟踪日志输出。
💾 7. 将容器保存为镜像
如果你在容器中修改了文件,可以把它保存成新镜像:
docker commit mynginx mynginx:custom
此时生成的新镜像就包含了容器的当前状态。
🧰 四、容器的生命周期
容器从创建到销毁,大致经历以下几个阶段:
- 创建(Created)
- 运行中(Running)
- 暂停/停止(Stopped)
- 删除(Removed)
你可以通过 docker ps -a 查看容器在不同阶段的状态。
🧩 五、实战:运行并管理一个 Nginx 容器
1️⃣ 拉取镜像:
docker pull nginx
2️⃣ 运行容器:
docker run -d -p 8080:80 --name web nginx
3️⃣ 查看容器状态:
docker ps
4️⃣ 进入容器内部:
docker exec -it web bash
5️⃣ 停止与删除:
docker stop web
docker rm web
🧭 六、容器的实用技巧
| 需求 | 命令示例 |
|---|---|
| 启动多个相同容器 | docker run -d -p 8081:80 nginx |
| 容器挂载本地目录 | docker run -v /data/html:/usr/share/nginx/html -p 8080:80 nginx |
| 自动重启容器 | docker run -d --restart always nginx |
| 查看容器占用资源 | docker stats |
| 查看容器文件系统变化 | docker diff 容器名 |
⚡ 七、容器与宿主机的关系
- 容器共用宿主机的 Linux 内核
- 容器的文件系统由 镜像层 + 可写层 组成
- 容器的端口、网络、挂载等可通过参数自定义
🏁 八、总结
| 概念 | 说明 |
|---|---|
| 镜像(Image) | 应用及依赖的模板 |
| 容器(Container) | 镜像的运行实例 |
docker run | 创建并运行容器 |
docker ps | 查看容器状态 |
docker exec | 进入容器交互 |
docker rm | 删除容器 |
✅ Docker 容器的本质是“进程级虚拟化”,让应用以轻量、隔离、可移植的方式运行在任意环境中。
掌握容器操作,是迈向 Docker 高级用法(如 Compose、Kubernetes)的第一步。
📚 延伸阅读
若有转载,请标明出处:https://blog.csdn.net/CharlesYuangc/article/details/154156453
更多推荐


所有评论(0)