Skip to content

快速参考

  • 由……维护
    Docker 社区

  • 何处获取帮助:
    Docker 社区 Slack、服务器故障、Unix & Linux 或 Stack Overflow

支持的标签及相应的 Dockerfile 链接

快速参考(续)

什么是 Memcached?

Memcached 是一个通用的分布式内存缓存系统。它通常用于通过在 RAM 中缓存数据和对象来加速动态数据库驱动的网站,以减少必须读取外部数据源(如数据库或 API)的次数。

Memcached 的 API 提供了一个分布在多台机器上的非常大的哈希表。当表已满时,后续的插入会导致较旧的数据按照最近最少使用的顺序被清除。使用 Memcached 的应用程序通常在依赖较慢的后备存储(如数据库)之前,将请求和添加分层到 RAM 中。

维基百科.org/wiki/Memcached

如何使用此图像

$ docker run --name my-memcache -d memcached

设置内存使用情况

$ docker run --name my-memcache -d memcached memcached -m 64

这将设置 Memcached 服务器使用 64 兆字节用于存储。

有关配置你的 memcached 服务器的信息,请参阅广泛的维基。

图像变体

memcached 图像有多种类型,每种都针对特定的用例而设计。

memcached:<version>

这是事实上的镜像。如果你不确定自己的需求是什么,你可能想要使用这个。它被设计既可用作一次性容器(挂载你的源代码并启动容器以启动你的应用程序),也可用作构建其他镜像的基础。

其中一些标签可能包含像“书虫”这样的名称。这些是 Debian 发行版的套件代号,表明该镜像基于哪个发行版。如果你的镜像需要安装除镜像自带之外的任何其他软件包,你可能希望明确指定其中之一,以便在 Debian 有新版本发布时最大程度地减少损坏。

memcached:<version>-alpine

此镜像基于流行的 Alpine Linux 项目,在 alpine 官方镜像中可用。Alpine Linux 比大多数发行版基础镜像小得多(约 5MB),因此通常会生成更精简的镜像。

当尽可能小的最终镜像大小是你主要关心的问题时,这个变体很有用。需要注意的主要警告是,它确实使用 musl libc 而不是 glibc 及其同类,所以软件通常会根据其对 libc 要求/假设的深度而遇到问题。有关可能出现的问题以及使用基于 Alpine 的镜像的一些优缺点比较的更多讨论,请参阅此 Hacker News 评论线程。

为了最小化镜像大小,在基于 Alpine 的镜像中包含额外的相关工具(例如 gitbash )是不常见的。使用此镜像作为基础,在你自己的 Dockerfile 中添加你需要的东西(如果你不熟悉,可查看 alpine 镜像描述以获取如何安装软件包的示例)。

许可证

查看此映像中包含的软件的许可证信息。

与所有 Docker 镜像一样,这些镜像可能还包含其他可能受其他许可证约束的软件(例如来自基础发行版的 Bash 等,以及所包含的主要软件的任何直接或间接依赖项)。

一些能够自动检测到的额外许可证信息可能会在 repo-info 存储库的 memcached/ 目录中找到。

对于任何预构建镜像的使用,镜像用户有责任确保对此镜像的任何使用都符合其中包含的所有软件的任何相关许可证。