Skip to content

快速参考

  • 由……维护
    Plone 社区

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

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

快速参考(续)

什么是 Plone?

Plone 是一个基于 Zope 应用服务器构建的免费开源内容管理系统。

logo

特性

  • 针对 Plone 5.x 和 Plone 4.x 的图像
  • 通过环境变量启用插件
  • 在基于 Debian 或 Alpine 的镜像之间进行选择。
  • 内置 RelStorage 支持,可通过环境变量进行配置(需要 Plone 5.2.4 及以上版本)
  • 通过 pas.plugins.ldap 内置的 LDAP/AD 支持(需要 Plone 5.2.4 及以上版本)

使用情况

启动单个 Plone 实例

这将下载并启动基于 Debian 的最新 Plone 5 容器。

$ docker run -p 8080:8080 plone

此图像包含 EXPOSE 8080 (Plone 端口),因此标准容器链接将使其自动对链接的容器可用。现在您可以在 http://localhost:8080 添加一个 Plone 站点 - 默认的 Zope 用户和密码是 admin/admin

在 ZEO 集群内启动 Plone

ZEO 集群最适合生产设置,您将需要一个负载均衡器。

在后台启动 ZEO 服务器

$ docker run --name=zeo plone zeo

启动 2 个 Plone 客户端(也在后台)

$ docker run --link=zeo -e ZEO_ADDRESS=zeo:8080 -p 8081:8080 plone
$ docker run --link=zeo -e ZEO_ADDRESS=zeo:8080 -p 8082:8080 plone

以调试模式启动 Plone

你也可以通过运行在调试模式( fg )下启动 Plone

$ docker run -p 8080:8080 plone fg

附加组件

你可以通过 ADDONS 环境变量启用 Plone 附加组件

$ docker run -p 8080:8080 -e PLONE_ADDONS="eea.facetednavigation Products.PloneFormGen" plone

有关如何使用自己的自定义设置扩展此映像、添加更多插件、构建它或挂载卷的更多信息,请参阅我们的文档

支持的环境变量

Plone 镜像使用了几个环境变量,这些变量允许指定更具体的设置。

对于基本用法

  • ADDONS - 使用此环境变量通过 Plone 附加组件自定义 Plone
  • SITE - 在首次运行时将具有此 ID 的 Plone 实例添加到 Data.fs 。如果未提供,您将必须通过 Web UI 手动添加一个 Plone 站点。
  • ZEO_ADDRESS - 此环境变量允许你将 Plone 图像作为 ZEO 客户端运行。
  • VERSIONS - 使用特定版本的 Plone 附加组件或 Python 库

运行 Plone 并安装两个插件(eea.facetednavigation 和 collective.easyform)

$ docker run -p 8080:8080 -e SITE="mysite" -e ADDONS="eea.facetednavigation collective.easyform" plone

要使用特定的附加组件版本:

 -e ADDONS="eea.facetednavigation collective.easyform" \
 -e VERSIONS="eea.facetednavigation=13.3 collective.easyform=2.1.0"

RestAPI:

$ docker run -p 8080:8080 -e SITE=plone plone

$ curl -H 'Accept: application/json' http://localhost:8080/plone

对于高级用法

Plone:

  • PLONE_ADDONSADDONS - 使用此环境变量通过 Plone 附加组件自定义 Plone
  • PLONE_SITESITE - 在首次运行时将具有此 ID 的 Plone 添加到 Data.fs 。如果未提供,您将不得不通过 Web UI 手动添加一个 Plone 站点。
  • PLONE_VERSIONSVERSIONS - 使用特定版本的 Plone 附加组件或 Python 库
  • PLONE_PROFILES, PROFILES - 当提供 SITE 环境时要包含的通用设置配置文件。
  • PLONE_ZCMLZCML - 包含自定义 Plone 附加组件 ZCML 文件(以前的 BUILDOUT_ZCML
  • PLONE_DEVELOPDEVELOP - 开发新的或现有的 Plone 附加组件(以前的 BUILDOUT_DEVELOP

零排放组织(Zero Emissions Organization):

  • ZEO_ADDRESS - 此环境变量允许你将 Plone 图像作为 ZEO 客户端运行。
  • ZEO_READ_ONLY - 将 Plone 作为只读 ZEO 客户端运行。默认为 off
  • ZEO_CLIENT_READ_ONLY_FALLBACK - 一个标志,指示当没有可写存储可用时,只读远程存储是否应被接受作为后备。默认为 false
  • ZEO_SHARED_BLOB_DIR - 如果 ZEO 服务器和实例可以访问同一个目录,则将此设置为开启。默认为 off
  • ZEO_STORAGE - 设置 ZEO 存储的存储编号。默认为 1
  • ZEO_CLIENT_CACHE_SIZE - 设置 ZEO 客户端缓存的大小。默认为 128MB
  • ZEO_PACK_KEEP_OLD - 可设置为 false 以在运行包之前禁用创建 *.fs.old 文件。默认为 true。
  • HEALTH_CHECK_TIMEOUT - 等待健康检查开始的时间(以秒为单位)。默认为 1 秒。
  • HEALTH_CHECK_INTERVAL - 检查 Zope 应用程序是否仍然健康的时间间隔(以秒为单位)。默认为 1 秒。

CORS:跨域资源共享(Cross-Origin Resource Sharing)

  • CORS_ALLOW_ORIGIN - 被允许访问资源的来源。可以是用逗号分隔的来源列表,例如 http://example.net,http://mydomain.com* 。默认为 http://localhost:3000,http://127.0.0.1:3000
  • CORS_ALLOW_METHODS - 此 CORS 策略允许的 HTTP 方法名称的逗号分隔列表,例如 DELETE,GET,OPTIONS,PATCH,POST,PUT 。默认为 DELETE,GET,OPTIONS,PATCH,POST,PUT
  • CORS_ALLOW_CREDENTIALS - 表示资源在请求中是否支持用户凭证。默认为 true
  • CORS_EXPOSE_HEADERS - 客户端可访问的响应头的逗号分隔列表,例如 Content-Length,X-My-Header 。默认为 Content-Length,X-My-Header
  • CORS_ALLOW_HEADERS - 一个以逗号分隔的、客户端被允许发送的请求头列表,例如 X-My-Header 。默认为 Accept,Authorization,Content-Type,X-Custom-Header
  • CORS_MAX_AGE - 表示预检请求的结果可被缓存的时长。默认为 3600

RELSTORAGE:

  • RELSTORAGE_ADAPTER_OPTIONS - 用于为 Plone 实例设置的 RelStorage 适配器选项的逗号分隔列表(使用 plone.recipe.zope2instance)。这是使用 RelStorage 所必需的。

所有其他可用的环境变量都与 RelStorage 设置完全匹配,根据文档上提供的设置规范。

  • RELSTORAGE_NAME - 名称 - 存储的名称。

  • RELSTORAGE_READ_ONLY - 只读 - 如果为真,则只能针对存储执行读取操作。

  • RELSTORAGE_KEEP_HISTORY - 保留历史记录 - 如果此选项设置为 true(默认值),适配器将创建并使用保留历史记录的数据库模式(如 FileStorage)。

  • RELSTORAGE_BLOB_DIR - blob-dir - 如果提供,存储将提供 ZODB blob 支持;此选项指定用于保存 blob 数据的目录名称。如果目录不存在,将创建该目录。如果未提供值(或提供空值),则不提供 blob 支持。默认值: /plone/instance/var/blobstorage

    查看更多

文档

最终用户的完整文档可在 docs.plone.org 在线获取。

许可证

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

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

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

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