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

什么是「镜像」?(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.lryc.cn/news/2404692.html

相关文章:

  • SQLMesh实战:用虚拟数据环境和自动化测试重新定义数据工程
  • 服务器健康摩尔斯电码:深度解读S0-S5状态指示灯
  • 设计模式基础概念(行为模式):模板方法模式 (Template Method)
  • 传统业务对接AI-AI编程框架-Rasa的业务应用实战(番外篇2)-- Rasa 训练数据文件的清理
  • LVDS的几个关键电压概念
  • 2023年ASOC SCI2区TOP,随机跟随蚁群优化算法RFACO,深度解析+性能实测
  • DLL动态库实现文件遍历功能(Windows编程)
  • Java Map完全指南:从基础到高级应用
  • jvm 垃圾收集算法 详解
  • [特殊字符] 深入理解 Linux 内核进程管理:架构、核心函数与调度机制
  • Nginx Stream 层连接数限流实战ngx_stream_limit_conn_module
  • Spring Boot 定时任务的使用
  • Flutter:下拉框选择
  • SpringAI(GA):Nacos2下的分布式MCP
  • AC68U刷梅林384/386版本后不能 降级回380,升降级解决办法
  • [AI绘画]sd学习记录(二)文生图参数进阶
  • CRM管理系统中的客户分类与标签管理技巧:提升转化率的核心策略
  • 怎么解决cesium加载模型太黑,程序崩溃,不显示,位置不对模型太大,Cesium加载gltf/glb模型后变暗
  • 【AI系列】BM25 与向量检索
  • windows10搭建nfs服务器
  • simulink这边重新第二次仿真时,直接UE5崩溃,然后simulink没有响应
  • react 常见的闭包陷阱深入解析
  • 【CATIA的二次开发22】关于抽象对象Document概念详细总结
  • 模拟法解题的思路与算法分享
  • mysql密码正确SpringBoot和Datagrip却连接不上
  • 高保真组件库:数字输入框
  • 人工智能赋能高中学科教学的应用与前景研究
  • 【Linux】awk 命令详解及使用示例:结构化文本数据处理工具
  • 紫光同创FPGA系列实现Aurora 8b/10b协议
  • DAY 44 预训练模型