type
status
date
slug
summary
tags
category
icon
password
什么是Docker?
Docker
将软件打包成名为容器的标准化单元,这些单元具有运行软件所需的所有功能,包括库、系统工具、代码和运行时,可以把它理解为一个“虚拟机”,只不过容器它仅仅包含程序的配套环境,其他多余的一点没有。Docker VS 普通虚拟机
对比维度 | Docker 容器 | 普通虚拟机 (VM) |
技术架构 | 基于操作系统内核虚拟化 | 基于硬件虚拟化 (Hypervisor) |
资源占用 | 轻量级 (MB 级存储,秒级启动) | 重量级 (GB 级存储,分钟级启动) |
性能损耗 | 接近原生性能 | 较高性能损耗 (约 5-20%) |
隔离性 | 进程级隔离 (依赖 Linux 内核特性) | 完全硬件级隔离 |
系统依赖 | 需与宿主机共享内核 | 独立内核和操作系统 |
镜像大小 | 小 (仅包含应用和依赖库) | 大 (包含完整操作系统) |
部署速度 | 秒级部署 | 分钟级部署 |
ㅤ | ㅤ | ㅤ |
自动化 | 可以极其简单的获取所需环境 | 需要用户手动安装各种环境 |
Docker的三大“核心”
打包:就是把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包。
分发:你可以把你打包好的“安装包”上传到一个镜像仓库,其他人可以非常方便的获取和安装。
部署:拿着“安装包”就可以一个命令运行起来你的应用,自动模拟出一摸一样的运行环境,不管是在 Windows/Mac/Linux。
想象你开发了一个依赖复杂的应用程序——它需要特定版本的编程语言版本、精密的第三方库配置,甚至对操作系统补丁都有严格要求。当你在本地调试完美运行后,试图部署到服务器时,却可能遭遇"依赖地狱":缺失某个库、版本不匹配、环境变量冲突... 哪怕成功部署到第一台服务器,当需要扩展到第二台服务器时,你不得不像考古学家一样,重新"复刻"所有依赖细节。这种场景就是Docker发挥作用的地方。对于运行我们应用程序的主机,不管是笔记本电脑还是web服务器,我们唯一需要做的就是运行一个docker容器平台。从以后,你就不需要担心你使用的是Windows、MacOS、Ubuntu还是其他。你只需定义一次应用,即可随时随地运行。
有了Docker还能做什么?
- 软件环境多版本共存,如MySQL5.5和8.0,这样就可以在学习或者工作的时候无缝切换数据库版本。
- 轻量化安装多种操作系统,这样可以避免安装笨重的虚拟机。
- 快速装卸各种环境,比如在学习的时候需要Redis / MongoDB等等,完全可以“用完就丢,即用即下载”等。
Docker的安装
镜像站配置

配置如下:
不要忘记应用哦!
- Author:PastKing
- URL:https://www.oaichat.ru/posts/1a5bbb07-d950-80b3-b89f-e56cb579aaf1
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!