如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
注:这是 https://hub.docker.com/_/jetty 的 amd64 架构构建的“按架构”仓库——更多信息,请参见官方镜像文档中的 https://github.com/docker-library/official-images#architectures-other-than-amd64 和官方镜像FAQ中的 https://github.com/docker-library/faq#an-images-source-changed-in-git-now-what%E3%80%82
维护者:
https://github.com/eclipse/jetty.docker
获取帮助的地方:
Docker社区Slack、Server Fault、Unix & Linux 或 Stack Overflow
注:此镜像的描述超出了Hub的25000字符限制,因此“支持的标签”列表已被修剪以适应。另请参见 https://github.com/docker/hub-feedback/issues/238 和 https://github.com/docker/roadmap/issues/475%E3%80%82
提交问题的地方:
https://github.com/eclipse/jetty.docker/issues?q=
支持的架构:(https://github.com/docker-library/official-images#architectures-other-than-amd64)
https://hub.docker.com/r/amd64/jetty/%E3%80%81https://hub.docker.com/r/arm64v8/jetty/
已发布镜像制品详情:
https://github.com/docker-library/repo-info/blob/master/repos/jetty (https://github.com/docker-library/repo-info/commits/master/repos/jetty)
(镜像元数据、传输大小等)
镜像更新:
https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fjetty
https://github.com/docker-library/official-images/blob/master/library/jetty (https://github.com/docker-library/official-images/commits/master/library/jetty)
此描述的来源:
https://github.com/docker-library/docs/tree/master/jetty (https://github.com/docker-library/docs/commits/master/jetty)
Jetty 是一个纯 Java 实现的 HTTP(Web)服务器和 Java Servlet 容器。虽然 Web 服务器通常与向用户提供文档相关联,但 Jetty 现在常被用于机器间通信,通常在更大的软件框架中。Jetty 作为 Eclipse 基金会的一部分,以免费开源项目的形式开发。该 Web 服务器被用于 Apache ActiveMQ、Alfresco、Apache Geronimo、Apache Maven、Apache Spark、Google App Engine、Eclipse、FUSE、*** 的 Streaming API 和 Zimbra 等产品中。Jetty 也是 Lift、Eucalyptus、Red5、Hadoop 和 I2P 等开源项目的服务器。Jetty 支持最新的 Java Servlet API(含 JSP 支持)以及 SPDY 和 WebSocket 协议。
***.org/wiki/Jetty_(web_server)
!https://raw.githubusercontent.com/docker-library/docs/c14d620ba7dbd254b6a44f753ee1ba4e700906f0/jetty/logo.pngLogo © Eclipse Foundation
要在后台运行默认的 Jetty 服务器,请使用以下命令:
console$ docker run -d amd64/jetty
可通过浏览器访问 http://容器IP:8080 或 https://容器IP:8443/ 进行测试。要将 Jetty 服务器暴露给外部请求,请使用端口映射:
console$ docker run -d -p 80:8080 -p 443:8443 amd64/jetty
这会将容器内的 8080 端口映射到主机的 80 端口,容器内的 8443 端口映射到主机的 443 端口。之后可通过浏览器访问 http://主机IP 或 https://主机IP。
镜像中的默认 Jetty 环境变量如下:
JETTY_HOME = /usr/local/jettyJETTY_BASE = /var/lib/jettyTMPDIR = /tmp/jettyWeb 应用可通过常规方式(WAR 文件、解压的 WAR 目录或上下文 XML 文件)部署在 /var/lib/jetty/webapps 下。要将应用部署到 / 上下文,请使用名称 ROOT.war、目录名 ROOT 或上下文文件 ROOT.xml(不区分大小写)。
对于基于 Jetty 7 或 Jetty 8 的旧版 EOL 镜像,请遵循 Eclipse Wiki 上的 旧版说明,并部署到 /usr/local/jetty/webapps 而非 /var/lib/jetty/webapps。
可通过运行带有 --list-config 选项的命令查看 Jetty 服务器的配置:
console$ docker run -d amd64/jetty --list-config
也可通过命令行传递配置参数和附加模块。例如:
console$ docker run -d amd64/jetty --module=jmx jetty.threadPool.maxThreads=500
要在派生的 Docker 镜像中更新服务器配置,Dockerfile 可通过 RUN 命令启用附加模块:
DockerfileFROM amd64/jetty RUN java -jar "$JETTY_HOME/start.jar" --add-to-startd=jmx,stats
可在 Dockerfile 中通过编辑 /var/lib/jetty/start.d/*.ini 文件中的属性来配置模块,或通过删除该文件停用模块。
JVM 配置
可通过向容器传递 JAVA_OPTIONS 环境变量来设置 JVM 选项。例如,要将最大堆大小设置为 1GB,可按如下方式运行容器:
console$ docker run -e JAVA_OPTIONS="-Xmx1g" -d amd64/jetty
要以只读容器运行 amd64/jetty,需让 Docker 将 /tmp/jetty 和 /run/jetty 目录创建为卷:
console$ docker run -d --read-only -v /tmp/jetty -v /run/jetty amd64/jetty
由于容器是只读的,需通过 -v /path/to/my/webapps:/var/lib/jetty/webapps 挂载 Web 应用目录,或在派生镜像中填充 /var/lib/jetty/webapps。
从 9.3 版本开始,Jetty 内置支持 HTTP/2。但由于用于实现 HTTP/2 的 ALPN 库可能存在许可兼容性问题,该模块默认未启用。要在派生的 Dockerfile 中为私人用途启用 HTTP/2 支持,可添加 RUN 命令启用 http2 模块并批准其许可:
DockerfileFROM amd64/jetty RUN java -jar $JETTY_HOME/start.jar --add-to-startd=http2 --approve-all-licenses
这会在 $JETTY_BASE/start.d 目录中添加 http2.ini 文件,并将所需的 ALPN 库下载到 $JETTY_BASE/lib/alpn,从而允许使用 HTTP/2。HTTP/2 连接应通过与普通 HTTPS 连接相同的端口(容器端口 8443)建立。如希望通过 $JETTY_BASE/start.ini 启用 http2 模块,可将上述 RUN 命令中的 --add-to-startd 替换为 --add-to-start。
默认情况下,此镜像以 root 用户启动,并使用 Jetty 的 setuid 模块在初始化后降权到 jetty 用户。JETTY_BASE 目录(/var/lib/jetty)归 jetty:jetty(uid 999,gid 999)所有。
如希望镜像直接以 jetty 用户启动而非以 root 启动,可使用 -u jetty 启动容器:
console$ docker run -d -u jetty amd64/jetty
amd64/jetty 镜像有多种版本,每种版本适用于特定用例。
amd64/jetty:<version>这是默认镜像。如不确定需求,建议使用此版本。它既可用作临时容器(挂载源代码并启动容器以运行应用),也可用作构建其他镜像的基础。
amd64/jetty:<version>-alpine此镜像基于流行的 Alpine Linux 项目,可在 https://hub.docker.com/_/alpine 中获取。Alpine Linux 比大多数发行版基础镜像小得多(约 5MB),因此通常会生成更精简的镜像。
当最终镜像大小尽可能小是主要关注点时,此变体非常有用。需要注意的是,它使用 musl libc 而非 glibc 及相关库,因此软件可能会因对 libc 要求/假设的深度而遇到问题。有关可能出现的问题以及使用 Alpine 基础镜像的优缺点比较,请参见 此 Hacker News 评论线程。
为最小化镜像大小,Alpine 基础镜像中通常不包含额外的相关工具(如 git 或 bash)。以此镜像为基础,可在自己的 Dockerfile 中添加所需工具(如不熟悉如何安装包,参见 https://hub.docker.com/_/alpine/ 中的示例)。
查看此镜像中包含的软件的 许可信息。
与所有 Docker 镜像一样,这些镜像可能还包含其他软件,这些软件可能受其他许可(例如基础发行版中的 Bash 等,以及包含的主要软件的任何直接或间接依赖项)约束。
一些能够自动检测到的其他许可信息可能位于 https://github.com/docker-library/repo-info/tree/master/repos/jetty 中。
对于任何预构建镜像的使用,镜像用户有责任确保对此镜像的任何使用符合其中包含的所有软件的相关许可。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

来自真实用户的反馈,见证轩辕镜像的优质服务