docker概念理解
docker概念理解
1、docker是什么
docker是一个应用打包、分发、部署的工具
可以理解为一个轻量的虚拟机,只虚拟你需要的运行环境
2、docker和虚拟机比较
虚拟机 | Dokcer | |
---|---|---|
跨平台 | 只能在桌面级系统运行(windows/mac), 无法在不带图形界面的服务器上运行 |
支持windows/mac/linux上运行 |
性能 | 性能损耗大,内存占用高,把整个完整系统虚拟出来 | 性能好,只虚拟软件所需运行环境, 最大化减少没有的配置 |
自动化 | 需要手动安装所有东西 | 一个命令即可自动部署所需环境 |
稳定性 | 稳定性不高、不同系统差异大 | 稳定性好,不同系统一样的部署方式 |
3、打包、分发、部署
- 打包:将软件所需的依赖、第三方库、软件打包到一起,变成一个安装包
- 分发:可以将打包好的安装包上传到一个镜像仓库,其他人可以方便快捷的获取和安装
- 部署:拿着安装包用简单的命令即可运行你的应用,自动拷贝出一样的运行环境
4、docker部署的优势
1)常规应用开发部署方式:
- 自己在 Windows 上开发、测试
- 打包为 Docker 镜像(可以理解为软件安装包)
- 各种服务器上只需要简单的命令即可部署好。
2)优点:
确保不不同机器上跑都是一致的运行环境,规避了本地机器跑没问题,怎么到服务器就各种问题了
5、docker通常用来做什么
- 应用分发、部署,方便传播给他人安装,特别是开源软件喝提供私有部署的应用
- 快速安装测试/学习软件。用完就丢(类似小程序),不把时间浪费在安装软件上,如reids/mongodb/elasticsearch/elk
- 多个版本软件共存,不污染系统环境,如python2/python3、redis4/redis5
- windows上体验/学习各种linux系统
6、镜像、容器
- 镜像:可以理解为软件安装包,可以方便的进行传播和安装
- 容器:软件安装后的状态,每个软件运行环境都是独立的、隔离的,称之为容器
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构