专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

amd64/perl Docker 镜像 - 轩辕镜像

perl
amd64/perl
Perl是一种高级、通用、解释型动态编程语言,该Docker镜像提供其运行环境,支持Perl应用的开发与运行。
1 收藏0 次下载activeamd64镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

Perl Docker镜像文档

镜像概述和主要用途

注意:此仓库是perl官方镜像的amd64架构构建版本。更多信息请参见官方镜像文档中的“非amd64架构?”和官方镜像FAQ中的“镜像源在Git中更改后如何处理?”。

Perl是一种高级、通用、解释型、动态编程语言,借鉴了C、shell脚本(sh)、AWK和sed等语言的特性。本镜像提供了Perl运行环境,适用于开发、测试和部署Perl应用程序。

维护者

Perl社区

获取帮助

Docker社区Slack、Server Fault、Unix & Linux或Stack Overflow

核心功能和特性

多版本与变体支持
  • Perl版本:支持稳定版(如5.42.x、5.40.x、5.38.x)和开发版(5.43.x)
  • 基础系统:基于Debian发行版(trixie、bookworm、bullseye)
  • 镜像变体:
    • 默认版:包含常用依赖,基于buildpack-deps
    • slim版:最小化镜像,仅含运行Perl的必要依赖
    • threaded版:启用线程支持的Perl构建
架构支持

支持amd64、arm32v5、arm32v7、arm64v8、i386、mips64le、ppc64le、riscv64、s390x等架构(详细信息)

工具集成
  • 包含cpanm(CPAN模块安装工具)
  • 内置Perl标准工具(prove、perldoc等)

使用场景和适用范围

  • 开发环境:快速搭建Perl开发环境,无需本地安装Perl
  • 脚本运行:直接运行单个Perl脚本或小型应用
  • 应用部署:部署依赖CPAN模块的Perl应用程序
  • 依赖管理:结合Carton等工具管理Perl项目依赖
  • CI/CD流程:集成到持续集成/部署 pipeline,用于自动化测试和构建

详细的使用方法和配置说明

支持的标签及对应的Dockerfile链接
Perl 5.42.x(稳定版)
  • 5.42.0, 5.42, 5, latest, stable, 5.42.0-trixie, 5.42-trixie, 5-trixie, trixie, stable-trixie
  • 5.42.0-bookworm, 5.42-bookworm, 5-bookworm, bookworm, stable-bookworm
  • 5.42.0-bullseye, 5.42-bullseye, 5-bullseye, bullseye, stable-bullseye
  • slim变体:5.42.0-slim, 5.42-slim, 5-slim, slim, stable-slim 等
  • threaded变体:5.42.0-threaded, 5.42-threaded, 5-threaded, threaded, stable-threaded 等
  • slim-threaded变体:5.42.0-slim-threaded, 5.42-slim-threaded, 5-slim-threaded, slim-threaded, stable-slim-threaded 等
Perl 5.40.x、5.38.x(旧稳定版)
  • 包含类似上述版本格式的标签,如5.40.3, 5.40.3-slim-bookworm, 5.38.5-threaded等,具体标签及Dockerfile链接见官方仓库
Perl 5.43.x(开发版)
  • 5.43.2, 5.43, devel, 5.43.2-trixie, 5.43-trixie, devel-trixie 等
基本使用方法
1. 在Perl项目中创建Dockerfile
dockerfile
FROM amd64/perl:5.42  # 使用指定版本的Perl镜像
COPY . /usr/src/myapp  # 将项目文件复制到容器内目录
WORKDIR /usr/src/myapp  # 设置工作目录
CMD ["perl", "./your-daemon-or-script.pl"]  # 运行Perl脚本

构建并运行镜像:

console
$ docker build -t my-perl-app .  # 构建镜像
$ docker run -it --rm --name my-running-app my-perl-app  # 运行容器
2. 直接运行单个Perl脚本

对于简单的单文件项目,可直接使用Perl镜像运行脚本,无需编写Dockerfile:

console
$ docker run -it --rm --name my-running-script \
  -v "$PWD":/usr/src/myapp \  # 挂载当前目录到容器内
  -w /usr/src/myapp \  # 设置工作目录为挂载目录
  amd64/perl:5.42 \  # 使用指定版本镜像
  perl your-daemon-or-script.pl  # 运行脚本
高级配置与注意事项
与Debian系统Perl的共存
  • 本镜像的Perl二进制文件安装在/usr/local/bin/perl,并包含prove、perldoc、cpanm等工具
  • 容器的PATH环境变量配置为/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin,确保优先使用本镜像的Perl
  • 镜像同时包含Debian提供的/usr/bin/perl,用于dpkg/apt等系统工具正常工作,两者因配置不同(如@INC、安装路径、线程支持)不可互换
信号处理行为

Perl默认作为容器的PID 1运行,需注意信号处理(尤其是SIGINT/SIGTERM):

  • 直接运行无信号处理的脚本时,发送信号可能无法终止进程:

    console
    $ docker run -it --name sleeping_beauty --rm amd64/perl:5.42 perl -E 'sleep 300'
    

    此时执行docker exec sleeping_beauty kill 1无法终止进程。

  • 需显式设置信号处理函数:

    console
    $ docker run -it --name quick_nap --rm amd64/perl:5.42 \
      perl -E '$SIG{TERM} = sub { exit }; sleep 300'  # 收到TERM信号时退出
    

    此时执行docker stop quick_nap可正常终止容器。

  • 对于需要处理信号和 fork 子进程的场景,建议使用--init标志(Docker 1.13+)或添加init工具(如tini)作为ENTRYPOINT。

Debian Bookworm(Perl >= 5.38)中的COPY和WORKDIR行为

基于Debian 12(Bookworm)的镜像采用merged-usr文件系统布局,若将项目的bin、sbin或lib目录复制到WORKDIR /,可能导致冲突。建议:

  • 显式设置WORKDIR为非根目录(如/usr/src/app,镜像默认工作目录已设为/usr/src/app)
示例:创建可复用的Carton镜像

使用Carton管理Perl依赖的项目,可创建基础镜像简化构建:

  1. 创建Dockerfile.carton:
dockerfile
FROM amd64/perl:5.42

# 安装Carton并设置工作目录
RUN cpanm Carton && mkdir -p /usr/src/app
WORKDIR /usr/src/app

# ONBUILD指令:在派生镜像构建时自动执行
ONBUILD COPY cpanfile* /usr/src/app  # 复制依赖描述文件
ONBUILD RUN carton install  # 安装依赖
ONBUILD COPY . /usr/src/app  # 复制项目文件
  1. 构建Carton基础镜像:
console
$ docker build -f Dockerfile.carton -t amd64/perl:carton .
  1. 项目中直接使用基础镜像:
dockerfile
FROM amd64/perl:carton  # 一行即可完成构建
CMD ["carton", "exec", "perl", "app.pl"]  # 使用Carton执行应用

镜像变体说明

amd64/perl:<version>(默认版)
  • 基于buildpack-deps镜像构建,包含大量常用Debian包,减少派生镜像的依赖安装需求
  • 适合大多数场景,尤其是需要安装额外系统依赖的项目
  • 标签中包含Debian发行版名称(如5.42-bookworm),建议显式指定以避免基础系统更新导致的兼容性问题
amd64/perl:<version>-slim(精简版)
  • 基于debian:slim镜像构建,仅包含运行Perl的最小必要依赖
  • 镜像体积更小,适合空间受限的环境(如边缘设备、轻量级部署)
  • 不包含默认版中的常用系统工具,如需额外依赖需手动安装

许可证信息

  • Perl软件的许可证信息参见官方页面
  • 镜像中包含的其他软件(如Bash、Debian基础包等)可能具有不同许可证
  • 镜像元数据和许可证详情可参见repo-info仓库的perl目录

使用本镜像需确保遵守所有包含软件的相关许可证要求。

参考链接

  • Perl官方Docker仓库
  • Docker官方镜像文档
  • Perl官方网站
查看更多 perl 相关镜像 →
perl logo
perl
by library
官方
Perl是一种高级、通用、解释型动态编程语言,此Docker镜像用于在容器环境中运行Perl应用程序,支持多种版本和变体以适应不同需求。
472100M+ pulls
上次更新:8 天前
arm64v8/perl logo
arm64v8/perl
by arm64v8
Perl是一种高级、通用、解释型、动态编程语言,本镜像为其官方arm64v8架构构建版本,适用于在Docker环境中开发和运行Perl应用程序。
21M+ pulls
上次更新:12 天前
arm32v7/perl logo
arm32v7/perl
by arm32v7
Perl是一种高级、通用、解释型的动态编程语言,借鉴了C、shell脚本、AWK和sed等语言特性,适用于各类编程任务。
21M+ pulls
上次更新:12 天前
i386/perl logo
i386/perl
by i386
Perl是一种高级、通用、解释型、动态编程语言。
11M+ pulls
上次更新:12 天前
ppc64le/perl logo
ppc64le/perl
by ppc64le
Perl是一种高级、通用、解释型、动态编程语言。
11M+ pulls
上次更新:12 天前
s390x/perl logo
s390x/perl
by s390x
Perl是一种高级、通用、解释型、动态编程语言,适用于各种软件开发任务,支持多种编程范式和广泛的模块生态系统。
11M+ pulls
上次更新:12 天前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

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

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
amd64/perl
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429