gpt4 book ai didi

docker - 应该使用哪个 Docker 基础镜像在容器中安装应用程序而无需任何额外的操作系统?

转载 作者:IT老高 更新时间:2023-10-28 12:38:27 25 4
gpt4 key购买 nike

我在 CentOS 的 GUEST 操作系统上运行 Docker 守护程序。我想以隔离的方式在其上安装软件服务,并且我的 Docker 容器中不需要另一个操作系统镜像。

我想要一个 Docker 容器,其中仅包含我要安装的软件应用程序的附加二进制文件和库。

我可以使用 Docker 中的“whiteglove/blank”基础镜像吗?我想要一个非常精简的容器,以我的 GUEST 操作系统必须提供的东西作为起点。这可能吗?

最佳答案

您所要求的内容在 Docker 中是开箱即用的。每个 Docker 镜像都有自己的根文件系统,需要安装某种操作系统。

您的选择是:

  1. 使用最小的基础图片,例如 the BusyBox image .这将为您提供让容器运行所需的绝对最低限度。

  2. 使用the CentOS base image ,在这种情况下,您的容器将运行相同或非常相似的操作系统。

Docker 镜像之所以如此,是因为它们是可移植的。任何 Docker 镜像都可以在 Docker 运行的任何地方运行,无论操作系统如何。这意味着 Docker 镜像必须包含整个根文件系统和操作系统安装。

如果您需要来自主机操作系统的东西,您可以做 share a directory using Docker volumes .但是,这通常是用来挂载数据目录的,它仍然需要具有操作系统的 Docker 镜像。


也就是说,如果您有一个完全没有依赖关系的静态链接二进制文件,那么创建一个非常小的图像就变得很容易。这被称为“微容器”,特别是 Go 非常适合生产这些容器。这里是 some further reading on microcontainers and how to produce them .


如果您想要的只是容器的资源管理部分,您可以考虑的另一个选项是 using lxc-execute, as described in this answer .但是你也会失去所有其他不错的 Docker 功能。不幸的是,你想要做的并不是 Docker 的用途。

关于docker - 应该使用哪个 Docker 基础镜像在容器中安装应用程序而无需任何额外的操作系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22115038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com