Docker是开源容器化引擎,核心解决环境不一致问题,实现应用一键打包、跨环境运行,是开发、运维必备工具。本文极简梳理核心知识点,快速上手容器化开发。
一、核心概念(必记)
镜像(Image):只读模板,容器的创建基础(含应用、依赖、环境)。
容器(Container):镜像运行实例,独立隔离,可启停、删除。
仓库(Registry):存放镜像(Docker Hub、私有仓库等)。
核心区别:容器共享宿主机内核,比虚拟机轻量化、启动快、省资源。
二、环境准备与高频命令
1. 环境校验
docker -v # 输出版本即就绪
2. 核心命令(高频必记)
# 镜像操作 docker pull 镜像名:版本 # 拉取 docker images # 查看本地镜像 docker rmi 镜像ID # 删除 # 容器操作 docker run -d -p 宿口:容器口 --name 容器名 镜像名 # 运行 docker ps / ps -a # 查看容器 docker start/stop 容器ID # 启停 docker exec -it 容器ID /bin/bash # 进入容器 # 自定义镜像 docker build -t 镜像名:版本 . # 构建 docker-compose up -d # 多容器编排启动
三、自定义镜像(Dockerfile极简)
核心指令:FROM(基础镜像)、WORKDIR(工作目录)、COPY(复制文件)、RUN(安装依赖)、EXPOSE(暴露端口)、CMD(启动命令)。
FROM node:16 WORKDIR /app COPY package*.json ./ RUN npm install COPY . . EXPOSE 3000 CMD ["node","app.js"]
四、核心进阶(极简重点)
网络:默认bridge模式,多容器通信用自定义网络。
持久化:用数据卷(Volume)或目录挂载,避免容器删除丢失数据。
多容器:用Docker Compose,通过配置文件一键管理整套服务。
五、Docker总结与面试要点
核心:镜像、容器、仓库三大要素,容器优于虚拟机的核心是轻量化、共享内核。
高频考点:Dockerfile指令、容器与虚拟机区别、网络模式、数据持久化方案。
实际开发:优先用语言内置排序(如Python sort()),多容器用Docker Compose编排。