发布时间:2026/9/6 6:42:15
Docker 项目部署 一、基本介绍项目说明定义将应用程序及其依赖环境打包到轻量级、可移植的容器中优势开销小、启动快、环境一致本质操作系统层虚拟化共享宿主机内核二、核心概念概念说明镜像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部署环境一致性依赖人工配置易出错镜像保证环境完全一致部署速度配置环境耗时秒级启动资源开销占用大量系统资源轻量级共享内核迁移性依赖操作系统和依赖库一次构建随处运行隔离性较弱进程级隔离版本回滚手动恢复切换镜像即可

相关新闻

2026/9/6 6:42:15

拼多多百货新店越做越废?8成新手栽在这6个低级错误上

做拼多多百货一件代发的人,最常见的状态是这样的:每天睁眼就上新,上新完改标题,改完标题刷后台,一整天忙得脚不沾地,结果月末一看——没流量、没单量,偶尔爆几单还是亏的。于是开始怀疑&#xf…

2026/9/6 6:37:15

基于Spring Boot的学生实习综合服务平台设计与实现

收藏关注不迷路!! 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多…

2026/9/6 6:37:15

基于SpringBoot的农产品销售系统(源码+讲解视频+LW)

联系博主 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 …

2026/9/6 7:42:17

77-Tool问题分析环境搭建:系统化诊断工具软件运行故障

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/6 7:42:17

怎么消除AI写作痕迹?段落过渡词重复时怎样改得更自然?

怎么消除AI写作痕迹?段落过渡词重复时怎样改得更自然? 很多同学的论文有一个共同毛病:引言写了一整页,还没说清楚自己到底研究什么,中间的段落一个接一个用首先、其次、最后、综上所述串起来。这两件事其实是同一个问…

2026/9/6 7:42:17

小容量智能电饭煲选购指南:从预约到内胆涂层的工程取舍

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/6 7:37:17

OPC一人公司的品牌建设:个人IP还是产品品牌?

一人公司的品牌建设:个人IP还是产品品牌?文 / OPC全球化发展联盟本文为「OPC全球化发展联盟系列文章」第三十六篇,系列四「运营与管理篇」第八篇你这个人,还是你做的东西,哪个更值钱?“我应该打造个人IP&am…

2026/9/6 0:06:59

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/6 0:06:59

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/6 0:06:59

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/6 0:06:59

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/6 0:06:59

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/6 0:06:59

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/5 2:45:13

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/5 2:30:42

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/5 2:46:50

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…