
一、基本介绍项目说明定义将应用程序及其依赖环境打包到轻量级、可移植的容器中优势开销小、启动快、环境一致本质操作系统层虚拟化共享宿主机内核二、核心概念概念说明镜像Image类、模板包含程序环境容器Container实例运行中的程序仓库Repository存放镜像支持拉取和推送Docker Hub数据卷Volume同步镜像数据与宿主机数据持久化存储Dockerfile自动化构建自定义Docker镜像的脚本三、镜像操作命令说明docker images查看所有镜像docker pull 镜像名:标签下载镜像标签默认latestdocker rmi 镜像名:标签删除镜像可用ID前四位docker search 镜像名在Docker Hub搜索镜像docker search 结果说明字段说明OFFICIAL官方镜像STARS星数受欢迎程度四、容器操作命令说明docker run --name 新容器名 镜像名:标签名创建并运行容器docker run 常用参数参数说明示例-d后台运行docker run -d nginx-p端口映射宿主机:容器-p 8080:80-e设置环境变量-e MYSQL_ROOT_PASSWORD123456-v挂载数据卷-v 数据卷名:容器目录命令说明docker exec -it 容器名 bash进入正在运行的容器docker ps查看运行中的容器docker ps -a查看所有容器含停止的docker rm 容器名/id删除容器docker start 容器id启动容器docker stop 容器id停止容器docker restart 容器id重启容器五、数据卷操作命令说明docker volume ls显示所有数据卷docker volume create 名字创建数据卷docker volume rm 名字删除数据卷六、仓库操作命令说明docker build -t 镜像名:标签名 .构建镜像路径为当前目录docker tag 镜像名:标签名 用户/镜像名:标签名给镜像打标签docker login -u 用户名登录Docker Hubdocker push 用户/镜像名:标签名推送镜像到仓库七、Dockerfile概念说明定义自动化构建自定义Docker镜像的配置文件作用通过指令描述镜像构建过程Dockerfile 配置核心表分类指令/内容说明基础FROM 镜像:标签必选指定基础镜像环境WORKDIR /路径设置容器工作目录复制COPY 本地 容器内复制文件/目录进镜像执行RUN 命令构建时执行的命令如安装依赖端口EXPOSE 端口号声明容器监听的端口变量ENV 键值设置环境变量启动CMD [命令,参数]容器启动时执行可被覆盖固定启动ENTRYPOINT [命令]容器启动时执行不可被覆盖忽略.dockerignore文件排除无关文件加速构建构建docker build -t 名称:标签 .构建镜像命令极简示例textFROM nginx:alpine COPY ./html /usr/share/nginx/html EXPOSE 80构建docker build -t mynginx:v1 .运行docker run -d -p 8080:80 mynginx:v1项目部署必要文件清单文件用途是否必须说明.dockerignore排除不需要打包进镜像的文件✅ 强烈建议类似.gitignore避免把node_modules、.env、.git等无用文件复制进镜像加速构建、减小体积docker-compose.yml编排多容器服务如 Web Redis MySQL❌ 按需当项目依赖数据库、缓存等多个服务时使用实现一键启动.env存储环境变量密钥、端口、数据库连接等❌ 按需配合docker-compose.yml使用分离配置与代码不提交到 Gitrequirements.txt/package.json/pom.xml等项目依赖清单✅ 必须Dockerfile 中的RUN命令依赖这些文件安装依赖如npm install、pip install应用源码项目代码文件✅ 必须最终要复制进镜像运行的程序代码补充说明场景推荐文件组合单容器简单应用Dockerfile .dockerignore 依赖文件 源码多容器复杂项目上述全部 docker-compose.yml .env生产环境部署还需包含 CI/CD 配置如.github/workflows或 K8s 编排文件八、其他操作命令说明docker cp 本地路径 容器:目录从本地拷贝文件到容器docker cp 容器:目录 本地路径从容器拷贝文件到本地九、Docker Compose操作命令说明启动所有服务docker compose up -d后台启动配置中的所有服务停止服务docker compose down停止并移除服务配置文件docker-compose.yml默认配置文件名称十、常用命令速查分类命令说明镜像docker images查看镜像列表镜像docker pull nginx:latest下载nginx镜像镜像docker rmi 镜像ID删除镜像容器docker run -d -p 8080:80 nginx后台运行nginx并映射端口容器docker ps -a查看所有容器容器docker stop 容器ID停止容器容器docker rm 容器ID删除容器容器docker exec -it 容器ID bash进入容器内部数据卷docker volume create mydata创建数据卷仓库docker push zzy0371/myapp:v1推送镜像到仓库Composedocker compose up -d启动所有服务十一、Docker vs 传统部署对比项传统部署Docker部署环境一致性依赖人工配置易出错镜像保证环境完全一致部署速度配置环境耗时秒级启动资源开销占用大量系统资源轻量级共享内核迁移性依赖操作系统和依赖库一次构建随处运行隔离性较弱进程级隔离版本回滚手动恢复切换镜像即可