跳到主要内容

核心概念

理解四个核心对象,就掌握了 Docker 的骨架:镜像、容器、数据卷、网络。

镜像(Image)​

镜像是只读模板,包含运行应用所需的一切。它分层(layer)存储,相同底层可被多个镜像共享,节省空间。

  • 来源:从仓库拉取(docker pull)或从 Dockerfile 构建(docker build)。
  • 类比:像「安装光盘」——固定不变,可随时复制。

容器(Container)​

容器是镜像的运行实例。你在容器内启动进程,容器有自己可写的薄层(基于镜像只读层之上)。

  • 生命周期:创建 → 运行 → 停止 → 删除。
  • 类比:像「用光盘装好的系统」——光盘(镜像)不变,装好的系统(容器)可改。

💡 容器停止后,内部写入的数据默认随容器删除而丢失。需要持久化就要用到数据卷。

数据卷(Volume)​

数据卷是 Docker 管理的持久化存储,独立于容器生命周期,即使容器被删除,卷中数据仍在。

  • 与 bind mount(挂载主机目录)不同,卷由 Docker 统一创建和管理,跨平台更可靠。
  • 典型用途:数据库文件、配置文件、ROS 工作区数据。

网络(Network)​

网络让容器之间、容器与主机之间互相通信。Docker 提供多种驱动:

驱动用途
bridge(默认)单主机内容器通信
host容器直接共享主机网络栈
none无网络
自定义 bridge按项目隔离,支持容器名 DNS 解析
提示

四者关系一图流

Registry (仓库)
│ pull / push
▼
Image (镜像) ──run──▶ Container (容器)
│ 挂载
▼
Volume (数据卷,持久化)
│ 接入
▼
Network (网络,互通)

安装环境见 安装 Docker;命令用法见 命令。

加入我们