鱼C论坛

 找回密码
 立即注册
查看: 501|回复: 2

[已解决]Docker中的“镜像”和操作系统的”镜像“有什么区别?

[复制链接]
发表于 2023-11-25 15:01:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
为什么Ubuntu官方的镜像需要下载3个多G的数据,而Docker63M就搞定了?而且Docker的这个镜像还可以打开bash做交换操作。
最佳答案
2023-11-25 15:15:13
因为docker的镜像一般只有内核和极少的软件
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-25 15:01:45 | 显示全部楼层
Docker中的"镜像"和操作系统中的"镜像"在概念上有些不同。

在操作系统中,镜像是一个完整的操作系统的副本,包含了所有的文件和配置。它通常用于安装和配置新的操作系统实例。

而在Docker中,镜像是一个轻量级的、可移植的、自包含的软件包。它不是一个完整的操作系统,而是基于操作系统镜像构建的,只包含了运行所需的特定应用程序、库和配置。

关于Ubuntu官方镜像和Docker镜像的大小差异,主要是因为它们的目的和构建方式不同。

Ubuntu官方镜像是一个完整的操作系统镜像,它包含了大量的组件和软件包,以满足各种使用情况的需求。因此,它的大小相对较大。

而Docker镜像是根据特定需求构建的轻量级软件包,它只包含应用程序和相关依赖。Docker镜像是通过多个层次的构建,将应用程序和依赖项逐步添加到基础镜像中来创建的。这种分层的机制使得Docker镜像可以更高效地共享和部署,从而减少了镜像的体积。

此外,Docker镜像还可以通过打开bash交互式终端来进行操作,这使得你可以进入镜像并执行命令、修改配置等。这在开发和调试过程中非常有用。

以下是一个示例Dockerfile,用于构建一个简单的基于Ubuntu的Docker镜像,并允许交互式地进入bash:
  1. # 基于Ubuntu官方镜像构建Docker镜像
  2. FROM ubuntu:latest
  3. # 安装所需软件包
  4. RUN apt-get update && apt-get install -y \
  5.     software-package1 \
  6.     software-package2 \
  7.     ...
  8. # 设置工作目录
  9. WORKDIR /app
  10. # 拷贝应用程序到镜像中
  11. COPY . .
  12. # 设置环境变量
  13. ENV ENV_VARIABLE value
  14. # 声明容器监听的端口
  15. EXPOSE 8080
  16. # 定义启动镜像时执行的命令
  17. CMD ["bash"]
复制代码

通过运行`docker build -t myimage .`命令,你可以构建名为"myimage"的镜像。然后,你可以通过运行`docker run -it myimage`命令来启动容器,并进入bash交互式终端进行操作。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-25 15:15:13 | 显示全部楼层    本楼为最佳答案   
因为docker的镜像一般只有内核和极少的软件
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 06:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表