当前位置: 首页 > ops >正文

什么是「镜像」?(Docker Image)

🧊 什么是「镜像」?(Docker Image)

💡 人话解释:

Docker 镜像就像是一个装好程序的“快照包”,里面包含了程序本体、依赖库、运行环境,甚至是系统文件。

你可以把镜像理解为:

🗂️ 一个完整的“软件运行包”,可以用来快速启动一个“程序副本”(也就是容器)。


🧱 举个现实中的比喻:

比如你要运行一个 MySQL 数据库:

docker run mysql

这时候 Docker 会先下载一个叫 mysql 的镜像,这个镜像里包含了:

内容举例
操作系统基础环境Debian、Alpine 等
数据库程序MySQL 可执行文件
所需依赖库SSL、安全库、配置库
默认配置文件MySQL 启动配置
入口命令一启动就运行 mysqld

就像是:
🧃你下载了一个“已经装好系统 + 装好 MySQL + 配好配置”的虚拟机模板,拿来就能用。


🔁 镜像 vs 容器 vs 卷的区别(通俗对比):

名称是什么比喻会变吗?
镜像 (Image)静态的模板程序安装包、ISO镜像❌ 不会变(只读)
容器 (Container)运行中的程序副本装完程序正在运行的系统✅ 会变(读写)
卷 (Volume)专门存数据的地方U盘、数据库文件夹✅ 会变(读写)

📥 镜像里是不是包含依赖库和依赖包?

是的!

镜像里不仅包含了程序本体(比如 MySQL),还包含了它能正常运行所需的所有依赖项,比如:

  • 共享库(libssl.so、libstdc++ 等)
  • 配置工具(bash、sh、env)
  • 编码支持库(UTF-8、i18n)
  • 数据库启动脚本等

📦 换句话说:镜像 = 应用程序 + 所需依赖 + 操作系统环境


🔧 你也可以自己构建镜像:

比如写一个 Dockerfile

FROM python:3.11
COPY . /app
RUN pip install -r /app/requirements.txt
CMD ["python", "/app/main.py"]

这个镜像会包含:

  • 一个 Python 3.11 的环境(基础镜像)
  • 你自己的代码(COPY)
  • 安装好的依赖(pip install)
  • 启动命令(CMD)

生成后你就可以用它来跑你自己的项目:

docker build -t myapp .
docker run myapp

✅ 总结一下:

关键词通俗解释
镜像(Image)是一个“应用 + 所有依赖 + 运行环境”的打包模板(只读)
容器(Container)是基于镜像启动的“正在运行的实例”(可读写)
卷(Volume)是容器外部挂载的“数据存储空间”,专门用来持久化数据
http://www.xdnf.cn/news/10837.html

相关文章:

  • 【linux】VNC无头显示器启动方法
  • 剑指offer15_数值的整数次方
  • 酷狗概念版4.1.6深度体验:探索音乐新境界的便捷之选
  • 网络原理1
  • 《对象创建的秘密:Java 内存布局、逃逸分析与 TLAB 优化详解》
  • MeloTTS中文发音人训练
  • CUDA与venv的配置
  • 【机器学习及深度学习】机器学习模型的误差:偏差、方差及噪声
  • vue2上传图片
  • matlab实现求解兰伯特问题
  • Filebeat技术之多行采集
  • java-spring
  • Blinko智能笔记系统实现跨平台同步与隐私保护的完整技术方案解析
  • 2025年MathorCup数学建模D题短途运输货量预测及车辆调度问题解题文档与程序
  • dataX(入门,mysql到doris)
  • 软件评测师 案例真题笔记
  • RDMA简介1之RDMA开发必要性
  • Java 中执行命令并使用指定配置文件的最佳实践
  • [蓝桥杯]生物芯片
  • 今日主题二分查找(寻找峰值 力扣162)
  • 初识小智AI项目
  • 酵母杂交那些事儿(一)
  • [Python] struct.unpack() 用法详解
  • 在 Linux 上安装 Nmap 工具
  • CSRF攻击与防御
  • 现代密码学介绍
  • 前端开发处理‘流式数据’与‘非流式数据’,在接收完整与非完整性数据时应该如何渲染和使用
  • 【产品研究】安克创新公司产品研究
  • 推荐算法八股
  • STM32外部中断(EXTI)以及旋转编码器的简介