Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 对于仅数据容器,最合适的容器是什么?_Docker - Fatal编程技术网

Docker 对于仅数据容器,最合适的容器是什么?

Docker 对于仅数据容器,最合适的容器是什么?,docker,Docker,对于纯数据Docker容器,最合适(最小、最简单)的容器是什么 在文档中,他们使用training/postgres容器。但是,我相信另一个容器将实际运行数据库(例如postgres) 我假设一个数据容器非常小,因为它通常只为另一个容器提供数据量 可能在创建仅数据的容器时忽略了容器?Busybox是一个基本映像,而不是用户映像,因此对于生产使用来说更实用一些,它也很小 图像docker页面 BusyBox:嵌入式Linux的瑞士军刀 大小约为2.5MB。Busybox是可用的最小Linux发行

对于纯数据Docker容器,最合适(最小、最简单)的容器是什么

在文档中,他们使用training/postgres容器。但是,我相信另一个容器将实际运行数据库(例如postgres)

我假设一个数据容器非常小,因为它通常只为另一个容器提供数据量


可能在创建仅数据的容器时忽略了容器?

Busybox是一个基本映像,而不是用户映像,因此对于生产使用来说更实用一些,它也很小

图像docker页面

BusyBox:嵌入式Linux的瑞士军刀

大小约为2.5MB。Busybox是可用的最小Linux发行版之一

BusyBox将许多常见UNIX实用程序的小版本组合到一个小的可执行文件中。它为您通常在GNU fileutils、shellutils等中找到的大多数实用程序提供了替代品。BusyBox中的实用程序通常比其功能齐全的GNU同类程序具有更少的选项;但是,所包含的选项提供了预期的功能,其行为与GNU对应项非常相似。BusyBox为任何小型或嵌入式系统提供了一个相当完整的环境


更新:现在我们已经命名了卷,您通常根本不想使用数据容器

为数据容器使用相同的图像-在本例中为Postgres图像。您不会让数据容器保持运行,因此它不会消耗资源

出于以下几个原因,使用相同的图像很重要:

  • 它将占用更少的空间,因为您已经缓存了图像
  • 映像有机会使用数据(例如默认文件)为卷种子
  • 权限和所有者将是正确的
有关更多信息,请参阅。

我建议您使用此图片。 它的大小为125字节,比基于busybox的图像小:

REPOSITORY                 TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
tianon/true                latest              724d63a6172d        35 hours ago        125 B
基于此映像的容器立即退出,这适用于仅存储的容器。

使用空的“临时”容器-根本没有操作系统:

Dockerfile:

FROM scratch

VOLUME /data
ENTRYPOINT ["/no/such/file"]
我刚做了一个空的,图像是。。。0字节

然后我在构建过程中复制了一个2k文件,图像是260字节,所以必须进行压缩

我之所以使用它,是因为在AWS Fargate这样没有主机的半/无服务器环境中,命名卷不太有用,您需要部署版本化数据


更新:如果您希望容器在docker compose中正常工作,那么上面的示例将无法工作,因为入口点失败
tianon/true
似乎是最好的解决方案,一个返回true的小程序。所以你可以使用天安的
/true

谢谢你的帖子。太小了。我想知道纯数据容器需要什么“功能”,以及映像是否会受到任何限制?我将它用作纯数据容器,尽管只是用于一个小的概念验证。从未实际检查过最终文件大小,但它工作正常。最棒的是,您可以使用phusion图像进行测试,如果它能工作,则只需进行一行更改,以查看它是否仍能与busybox一起工作……请记住,您可能需要一些基础知识,如
cat
grep
来调试数据容器的内容。如果存在此数据容器,您也可以通过使用此数据容器的应用容器执行此操作,但情况可能并非如此。好的,您是对的。我正在删除我的答案和评论。这种方法唯一的问题是固定过时的图像。你可以试试伟大的指针,谢谢。我会尝试一下。拉一个巨大的图像只是为了连接数据卷?那是个糟糕的主意。