Docker 是一个开源的应用容器引擎,它允许开发者将应用程序及其依赖打包到一个轻量级、可移植的容器中,然后在任何支持Docker的机器上运行。
1、Docker介绍
Docker 是一个开源的应用容器引擎,它允许开发者将应用程序及其依赖打包到一个轻量级、可移植的容器中,然后在任何支持Docker的机器上运行。
核心概念
1. 镜像(Image)
只读模板,包含运行应用所需的所有内容----就是程序的可执行文件
类似于虚拟机的快照
可以通过Dockerfile构建
2. 容器(Container)
镜像的运行实例
轻量、隔离的进程环境
可启动、停止、删除
3. 仓库(Registry)
存储镜像的地方(如Docker Hub)
类似Git的代码仓库
2、Docker核心三件套
Docker、Docker Compose 和 Dockerfile
3、三者联系
专业理解
1. Docker:容器化平台(核心引擎)这是整个技术栈的基础和运行时环境。
核心功能:
镜像管理:
docker pull(拉取)、docker images(列出)、docker rmi(删除)容器生命周期:
docker run(创建并启动)、docker start/stop/restart(启停)、docker rm(删除)运维与调试:
docker ps(查看容器)、docker logs(查看日志)、docker exec(进入容器)网络与存储:管理容器网络、卷(Volume)
2. Dockerfile:镜像构建蓝图(定义文件)
这是一个纯文本文件,包含了一系列指令,用于定义如何构建一个Docker镜像。
核心理念:层(Layer) 与 缓存(Cache)。每一条指令都会创建一个新的镜像层,Docker会利用缓存来加速后续构建。
核心指令:
FROM:指定基础镜像(必须是第一条指令)RUN:在镜像内执行命令(如安装软件)COPY/ADD:将文件从主机复制到镜像WORKDIR:设置后续指令的工作目录ENV:设置环境变量EXPOSE:声明容器运行时监听的端口CMD/ENTRYPOINT:指定容器启动时运行的默认命令
3. Docker Compose:多容器编排工具(协调者)
这是一个用于定义和运行多容器Docker应用的工具。通过一个 docker-compose.yml 文件,你可以轻松配置和管理由多个服务(容器)组成的完整应用栈(如Web前端 + 后端API + 数据库)。
核心优势:
一键启停:
docker-compose up/docker-compose down服务编排:定义服务间的依赖关系(如“后端依赖数据库先启动”)
统一配置:集中管理网络、数据卷、环境变量
开发友好:非常适合本地多服务应用的开发、测试
通俗解释
Docker = 整套建筑工具和车间(让你能生产、运输、安装“房间”)
Dockerfile = 房间的“预制板设计图纸”(定义如何打造一个标准化房间)
Docker Compose = 整个小区的“施工总图”(定义如何组合多个房间,并连接水电网络)

总结docker是平台兼管理者,dockerfile是构建者,docker-compose是协调者
典型工作流:
开发阶段:编写
Dockerfile,定义单个应用的环境。构建阶段:使用
docker build根据Dockerfile创建可移植的镜像。单容器运行:使用
docker run启动单个容器进行测试。多容器编排:编写
docker-compose.yml,定义整个应用栈(Web/App/DB等)。部署运行:使用
docker-compose up一键启动所有相互依赖的服务。