对于仅数据的Docker容器,最合适(最小,最简单)的容器是什么?
在文档中,他们使用training/postgres容器.但是,我相信另一个容器实际上会运行数据库(例如postgres).
http://docs.docker.com/userguide/dockervolumes/
我假设数据容器非常小,因为它通常只为那个容器提供数据量.
创建仅限数据的容器时,可能会忽略容器?
van*_*ome 22
我推荐tianon/true这个dockerfiles集合中的图像.在125字节,它比基于busybox的图像小:
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
tianon/true latest 724d63a6172d 35 hours ago 125 B
Run Code Online (Sandbox Code Playgroud)
基于该图像的容器立即退出,该容器适用于仅存储容器.
Mit*_*ent 11
Busybox是基本图像,而不是用户图像,因此对于生产使用来说更加实用,它也很小.
图片泊坞窗页面在这里
BusyBox:嵌入式Linux的瑞士军刀
大约2.5 Mb.Busybox是最小的Linux发行版之一.
BusyBox将许多常见UNIX实用程序的微小版本组合到一个小的可执行文件中.它提供了你通常在GNU fileutils,shellutils等中找到的大多数实用程序的替换.BusyBox中的实用程序通常比它们的全功能GNU兄弟有更少的选项; 但是,包含的选项提供了预期的功能,其行为与GNU对应物非常相似.BusyBox为任何小型或嵌入式系统提供了相当完整的环境.
这篇文章建议使用一个空的“临时”容器 - 根本没有操作系统:
Dockerfile:
FROM scratch
VOLUME /data
ENTRYPOINT ["/no/such/file"]
Run Code Online (Sandbox Code Playgroud)
我刚刚做了一个空的,图像是... 0 字节!
然后我在构建过程中复制了一个 2k 文件,并且图像是 260 字节,因此必须压缩。
我使用它是因为命名卷在半/无服务器环境中不太有用,例如没有主机的 AWS Fargate,并且您想要部署版本化数据。
更新:如果您希望容器在 docker-compose 中正常工作,则上面的示例将不起作用,因为入口点失败。tianon/true似乎是最好的解决方案,一个返回 true 的小程序。所以你可以使用FROM tianon/true.
| 归档时间: |
|
| 查看次数: |
7878 次 |
| 最近记录: |