【问题标题】:Build your own OS Docker image, i.e. from scratch and from ISO构建您自己的 OS Docker 映像,即从头开始和从 ISO
【发布时间】:2019-12-15 17:24:58
【问题描述】:

场景:

从“Docker Desktop for Windows”我想基于从官方网站下载的 ISO Linux 构建一个初始(基本)映像。

关于如何做到这一点的文档非常稀少:我觉得这应该通过“从头开始”和“docker import”命令来实现,但事情很混乱,因为整体上没有明确的程序,并且没有例子。

我已经在 Google 和 stackoverflow 上搜索了很长时间,要么我没有设法使用正确的关键字,要么没有人遇到过这种情况。 (我知道大多数人倾向于构建基础镜像,因为他们专注于应用程序开发而不是操作系统。)

不过,我相信有些人知道该怎么做,因为这是我们获得 alpine、ubuntu、debian 和其他 docker 基础镜像的方式!这是我想要达到的目标。

提前感谢任何能够通过一些例子清楚地解释事情的人,比如elementaryOS。

精度:

虽然还在寻找线索,但我在 Stackoverflow 上发现了这些类似的问题:

虽然没有明确的答案。

参考资料(文档):

【问题讨论】:

  • 类似alpine Dockerfile 的东西非常典型——启动FROM scratch 并将分发tarball 解压到其中。你有一个具体的问题吗?这是关于构建应用程序,还是只是了解 Linux 是如何组合在一起的?
  • @DavidMaze 这里没有具体问题。只是想了解如何构建操作系统映像,因为出于各种原因,我们可能会考虑在我的公司中构建自己的操作系统特定映像,并且开发人员可以从那里将其用作所有应用程序的基础。问题是我从 ISO 映像开始,而不是 tarball。 ISO 似乎与 tarball“OS 已安装 fs”没有任何共同之处,因为我似乎先一步:操作系统已打包,可能需要安装(?)。

标签: docker operating-system iso


【解决方案1】:

您最好使用官方分发的 Docker 镜像(例如https://hub.docker.com//ubuntuhttps://hub.docker.com//debianhttps://hub.docker.com/_/centos 等)。 elementaryOS 也有一个基础镜像:https://hub.docker.com/r/elementary/docker

为什么?

  1. 默认情况下,通过 ISO 安装程序安装的 Linux 发行版将引导至 systemd 之类的位置,这不是您在通常只运行一个服务器的容器中想要的。

  2. 基础 Docker 镜像通常以其他方式配置用于容器环境。例如。在包安装时禁用fsync(),这可以加快映像构建速度,并且在仅在映像构建时安装包的典​​型容器工作负载中很好。

【讨论】:

  • 我理解使用官方图片的原因,但这不是我需要的。我试图了解如何制作我的,从零点开始,在那里你只有通常最终安装在分区中的那个 ISO 映像。您对如何构建操作系统映像(就像他们为 ubuntu、centos 等所做的那样)有任何线索吗?
  • 这里是 Debian 使用的:github.com/debuerreotype/debuerreotype
  • 谢谢。我去看看 =)
猜你喜欢
  • 2021-12-17
  • 1970-01-01
  • 1970-01-01
  • 2018-03-30
  • 1970-01-01
  • 2021-11-22
  • 2017-07-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多