教程笔记
📁Docker——快速入门(1)
00 min
2024-12-12
2025-2-25
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的安装

镜像站配置

notion image
配置如下:
不要忘记应用哦!
 
上一篇
利用ja-netfilter轻松激活IDE开发工具和插件
下一篇
论NotionNext如何实现自定义AI摘要

Comments
Loading...