sling

apache/sling Docker Image

自动构建

Apache Sling Starter Docker镜像是Apache Sling项目的一部分,用于生成可通过Feature Launcher启动的功能工件,主要支持实验和学习Sling,提供12/latest、11、10、9及snapshot等标签,支持Oak SegmentStore和MongoDB存储后端,支持持久化卷配置。

14 次收藏下载次数: 0状态:自动构建维护者:Apache 软件基金会镜像仓库类型:镜像最近更新:

Apache Sling Starter Docker镜像

镜像概述和主要用途

Apache Sling Starter Docker镜像是Apache Sling项目的一部分,用于生成可通过https://github.com/apache/sling-org-apache-sling-feature-launcher启动的功能工件。该镜像**并非生产就绪的设置**,主要用途是为Sling的实验和学习提供便利,帮助开发者快速搭建Sling运行环境。

核心功能和特性

  • 多版本支持:提供多个稳定版本标签及开发快照标签,满足不同学习和实验需求。
  • 存储后端支持:默认使用Oak SegmentStore(本地存储),同时支持MongoDB存储后端。
  • 持久化配置:支持通过Docker卷挂载实现运行时数据持久化。
  • 简单部署:仅需暴露8080端口即可快速启动,无需复杂配置。
  • 可扩展性:支持通过添加自定义功能文件扩展Sling Starter功能。

使用场景和适用范围

  • Sling学习与实验:适合开发者快速搭建Sling环境,学习Sling框架的基本使用和核心概念。
  • 开发环境搭建:作为Sling应用开发的本地测试环境,验证应用功能。
  • 功能验证:验证Sling相关功能或扩展在不同存储后端(本地存储、MongoDB)下的表现。

使用方法和配置说明

Docker镜像标签说明

支持以下标签,对应不同版本的Apache Sling Starter:

标签说明Dockerfile链接发布说明链接
12, latestApache Sling Starter 12(最新稳定版)https://github.com/apache/sling-org-apache-sling-starter/blob/org.apache.sling.starter-12/Dockerfilehttps://sling.apache.org/news/sling-12-released.html
11Apache Sling Starter 11https://github.com/apache/sling-org-apache-sling-starter-docker/blob/11/Dockerfilehttps://sling.apache.org/news/sling-11-released.html
10Apache Sling Starter 10https://github.com/apache/sling-org-apache-sling-starter-docker/blob/10/Dockerfilehttps://sling.apache.org/news/sling-10-released.html
9Apache Sling Launchpad 9https://github.com/apache/sling-org-apache-sling-starter-docker/blob/9/Dockerfilehttps://sling.apache.org/news/sling-launchpad-9-released.html
snapshot基于master分支最新版本的开发构建https://github.com/apache/sling-org-apache-sling-starter/blob/master/Dockerfile-

基本运行命令

Docker镜像仅需暴露8080端口即可启动:

bash
docker run --rm -p 8080:8080 docker.xuanyuan.run/apache/sling:snapshot

启动后可通过 http://localhost:8080 访问Sling。

存储后端配置

Oak SegmentStore(默认)

默认使用Oak SegmentStore(本地存储),无需额外配置,直接运行上述基本命令即可。

MongoDB支持

若需使用MongoDB存储后端,启动命令需指定聚合文件:

bash
docker run --rm -p 8080:8080 docker.xuanyuan.run/apache/sling:snapshot oak_mongo

注意:需确保MongoDB服务器已运行,默认连接URL为 mongodb://localhost:27017(可在功能文件中搜索 mongodb:// 查看具体配置)。

数据持久化配置

为避免容器重启后数据丢失,推荐将 /opt/sling/launcher 目录挂载为Docker卷:

  1. 创建持久化卷:
bash
docker volume create sling-launcher
  1. 使用卷启动容器:
bash
docker run --rm -p 8080:8080 -v sling-launcher:/opt/sling/launcher docker.xuanyuan.run/apache/sling:snapshot

构建Docker镜像

可通过Maven命令构建自定义Docker镜像,默认情况下Docker构建被跳过,需指定 -Ddocker.skip=false 参数:

bash
mvn clean package -Ddocker.skip=false -Ddocker.label=local

上述命令将构建标签为 apache/sling:local 的镜像,可通过以下命令运行:

bash
docker run --rm -p 8080:8080 docker.xuanyuan.run/apache/sling:local

扩展Sling Starter

若需扩展Sling Starter并排除应用级功能(如Composum、Slingshot等),可基于 nosample_base 聚合启动,该聚合包含:

  • 所有基础功能
  • Oak基础功能(不含NodeStore设置)
  • 无应用程序

例如,启动带Segment持久化的空Sling Starter:

bash
target/dependency/org.apache.sling.feature.launcher/bin/launcher -f target/slingfeature-tmp/feature-nosample_base.json,target/slingfeature-tmp/feature-oak_persistence_sns.json

可在功能列表中添加自定义功能文件以扩展功能。

helper脚本

scripts 目录包含辅助脚本,简化Sling Starter外部工具的本地开发使用。

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 sling 镜像标签

docker pull docker.xuanyuan.run/apache/sling:<标签>

DockerHub 原生拉取命令

docker pull apache/sling:<标签>
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载在线技术支持专业版保障服务可用付费会员免广告