🐳 Docker 容器的基本概念与操作指南

容器是 Docker 的核心。理解容器是什么、如何操作容器,是掌握 Docker 的关键一步。本文将通过通俗的解释与实际命令示例,带你全面了解 Docker 容器的概念与基本操作。


🧠 一、什么是 Docker 容器?

通俗地讲,Docker 容器(Container) 就像一个“轻量级的虚拟机”。
它在宿主机系统上运行,却与宿主机相互隔离,拥有独立的文件系统、网络环境与进程空间。

✅ 形象理解:

  • 虚拟机:是一整台“模拟电脑”(带系统内核)
  • 容器:只是运行在同一内核上的“独立应用空间”
对比项虚拟机Docker 容器
启动速度分钟级秒级
系统资源占用
运行环境独立操作系统共享宿主机内核
部署方式启动整个系统启动单个应用
镜像体积几 GB几百 MB 或更小

🧩 结论:

容器 = 镜像的运行实例,是一种更轻量、更高效的虚拟化技术。


📦 二、镜像与容器的关系

你可以把它们理解为“类与对象”的关系:

概念类比
镜像(Image)模板、蓝图
容器(Container)镜像运行后的实例

例如:

docker run -d -p 8080:80 nginx

这个命令会:

  1. 从镜像仓库下载 nginx 镜像;
  2. 基于该镜像创建一个容器;
  3. 启动 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

此时生成的新镜像就包含了容器的当前状态。


🧰 四、容器的生命周期

容器从创建到销毁,大致经历以下几个阶段:

  1. 创建(Created)
  2. 运行中(Running)
  3. 暂停/停止(Stopped)
  4. 删除(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

更多推荐