容器把应用及其依赖打包成可在不同环境一致运行的单元;Docker是其中一种广泛使用的实现与工具链。 与虚拟机相比,容器通常共享宿主机内核,启动更快、资源开销更小,但隔离边界也有所不同。
1. 镜像(Image)
镜像是只读模板,分层叠加(union filesystem),包含文件系统与元数据。 从 Dockerfile 构建或从仓库拉取后,用来创建容器实例。
2. 容器(Container)
容器是镜像的可写运行实例,有独立的进程空间、网络与挂载点配置。 删除容器会丢弃其可写层(未挂载卷的情况下);镜像本身不变。
3. 常见概念
- 仓库(Registry):存放镜像的服务,如 Docker Hub 或私有仓库。
- 卷(Volume):持久化数据,避免仅存在容器可写层。
- 网络:桥接、主机、覆盖网络等模式决定容器之间及与外界的连通方式。
生产环境还需关注镜像漏洞扫描、最小基础镜像、非 root 用户运行与资源限额;编排(如 Kubernetes)则解决多机调度与高可用。
命令与文件格式请以当前 Docker 文档为准;此处帮助建立术语与生命周期概念。