---
title: Docker 专题：容器、镜像、仓库、数据卷、网络与容器化部署
description: Docker 面试与容器化学习路线，涵盖容器、镜像、仓库、Docker 引擎、数据卷、网络、常用命令和容器化部署实践。
category: 开发工具
tag:
  - Docker
  - 容器
  - 部署
sitemap:
  changefreq: weekly
  priority: 0.85
head:
  - - meta
    - name: keywords
      content: Docker,容器,镜像,仓库,Docker引擎,数据卷,网络,容器化部署,环境一致性,后端开发
---

Docker 是后端开发非常常见的容器化工具，常用于本地快速启动 MySQL、Redis、Kafka 等依赖服务，也常用于测试环境和部署交付。学习 Docker 时，要把核心概念和命令实践结合起来。

## 适合谁看

- 想快速理解 Docker 容器化基础的后端开发者。
- 需要用 Docker 搭建本地开发环境、测试环境或依赖服务的同学。
- 准备面试，需要讲清容器、镜像、数据卷、网络和容器与虚拟机区别的读者。
- 已经会复制 Docker 命令，但不清楚镜像构建、容器生命周期和数据持久化的工程师。

## 学习重点

- 容器解决的是应用运行环境隔离和一致性问题。
- 镜像是静态模板，容器是镜像运行后的实例，仓库用于分发和复用镜像。
- Docker 常用命令要围绕镜像管理、容器生命周期、日志查看、端口映射和进入容器来掌握。
- 数据卷用于数据持久化和宿主机目录挂载，网络用于容器之间和容器与外部服务通信。
- Docker Compose 用于定义和运行多容器应用，适合本地开发环境和简单服务编排。
- Docker 不是万能部署方案，生产环境还要结合镜像安全、资源限制、日志、监控和编排能力考虑。

## 建议阅读顺序

1. [Docker 核心概念总结](./docker-intro.md)：先理解容器、镜像、仓库、Docker 引擎以及容器和虚拟机的区别。
2. [Docker 实战](./docker-in-action.md)：通过实际命令练习镜像拉取、容器启动、端口映射、数据卷、日志查看和常见服务部署。
3. 结合一个 Java 项目练习：把应用依赖的 MySQL、Redis 等服务用 Docker 启动起来，再观察日志、数据目录和端口映射。

## 核心文章

- [Docker 核心概念总结](./docker-intro.md)：讲解容器、镜像、仓库、Docker 引擎、Docker 架构、Docker Compose，以及 Docker 和虚拟机的区别。
- [Docker 实战](./docker-in-action.md)：通过常用命令和实践场景理解镜像管理、容器管理、服务部署、本地环境搭建和常见排查。

## 高频问题

- Docker 主要解决什么问题？
- 容器和虚拟机有什么区别？
- 镜像和容器是什么关系？
- Dockerfile、镜像、容器、仓库分别是什么？
- 为什么容器删除后数据可能丢失？数据卷解决了什么问题？
- 端口映射和容器网络分别解决什么问题？
- 如何查看容器日志、进入容器、停止和删除容器？
- `docker compose` 适合解决什么问题？和单独执行 `docker run` 有什么区别？
- Docker 在开发、测试和部署环境里分别有什么价值？

## 相关专题

- [开发工具知识体系](../)
- [Git 专题](../git/)
- [Maven 专题](../maven/)
- [高可用系统设计](../../high-availability/)

<!-- @include: @article-footer.snippet.md -->
