什么是Docker?
Docker
将软件打包成名为容器的标准化单元,这些单元具有运行软件所需的所有功能,包括库、系统工具、代码和运行时,可以把它理解为一个“虚拟机”,只不过容器它仅仅包含程序的配套环境,其他多余的一点没有。
Docker VS 普通虚拟机
对比维度 | Docker 容器 | 普通虚拟机 (VM) |
---|---|---|
技术架构 | 基于操作系统内核虚拟化 | 基于硬件虚拟化 (Hypervisor) |
资源占用 | 轻量级 (MB 级存储,秒级启动) | 重量级 (GB 级存储,分钟级启动) |
性能损耗 | 接近原生性能 | 较高性能损耗 (约 5-20%) |
隔离性 | 进程级隔离 (依赖 Linux 内核特性) | 完全硬件级隔离 |
系统依赖 | 需与宿主机共享内核 | 独立内核和操作系统 |
镜像大小 | 小 (仅包含应用和依赖库) | 大 (包含完整操作系统) |
部署速度 | 秒级部署 | 分钟级部署 |
自动化 | 可以极其简单的获取所需环境 | 需要用户手动安装各种环境 |
Docker的三大“核心”
打包:就是把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包。
分发:你可以把你打包好的“安装包”上传到一个镜像仓库,其他人可以非常方便的获取和安装。
部署:拿着“安装包”就可以一个命令运行起来你的应用,自动模拟出一摸一样的运行环境,不管是在 Windows/Mac/Linux。
有了Docker还能做什么?
- 软件环境多版本共存,如MySQL5.5和8.0,这样就可以在学习或者工作的时候无缝切换数据库版本。
- 轻量化安装多种操作系统,这样可以避免安装笨重的虚拟机。
- 快速装卸各种环境,比如在学习的时候需要Redis / MongoDB等等,完全可以“用完就丢,即用即下载”等。
Docker的安装
镜像站配置
配置如下:
"registry-mirrors": ["https://docker.m.daocloud.io"],
不要忘记应用哦!
© 版权声明
THE END
暂无评论内容