本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

ACME Certificate Extract 是一款用于从 ACME 协议获取的证书文件(如 Træfik 生成的 acme.json)中提取证书的工具,以便证书复用。该工具兼容 Træfik v1、v2 版本,同时支持 ACME v1、v2 协议。
*)为指定字符串,避免文件名非法字符。通过 docker run 命令直接运行,需挂载存放 ACME 文件的目录和证书输出目录:
docker run devopsansiblede/acme-cert-extract \ -v $(pwd)/acme:/acme \ # 挂载ACME文件所在目录(默认查找acme.json) -v $(pwd)/certs:/certs # 挂载证书输出目录
项目提供 docker-compose.yml 文件,可用于本地开发或测试最新变更:
# 示例 docker-compose.yml(具体以项目实际文件为准) version: '3' services: acme-cert-extract: image: devopsansiblede/acme-cert-extract volumes: - ./acme:/acme # 本地ACME目录挂载至容器内/acme - ./certs:/certs # 本地证书输出目录挂载至容器内/certs environment: - DEBUG=True # 可选:开启调试模式 - LIMIT_FQDN=example.com # 可选:限制仅处理example.com
启动命令:
docker-compose up -d
注意:项目中的
acme_example.json为测试用例,包含无意义数据,不可用于实际证书提取场景。
通过环境变量调整工具行为,所有布尔值需使用 Python 风格(True/False)。
| 环境变量 | 默认值 | 描述 |
|---|---|---|
ACMEFILE | acme.json | 待解析的 ACME 文件名,可根据实际需求调整。 |
ACMEDIR | /acme | ACME 文件所在目录,需挂载宿主机目录至该路径。 |
CERTSDIR | /certs | 证书输出目录,需挂载宿主机目录至该路径。 |
CERTSPLIT | -----BEGIN CERTIFICATE----- | 证书分割标识,请勿修改。 |
COLOR_ERROR | 1;31 | 错误消息 ANSI 颜色码(格式:样式;前景色,如 1;31 为红色加粗)。 |
COLOR_INFO | 0 | 信息消息 ANSI 颜色码(0 为默认样式)。 |
COLOR_SUCCESS | 0;32 | 成功消息 ANSI 颜色码(0;32 为绿色)。 |
COLOR_WARN | 0;33 | 警告消息 ANSI 颜色码(0;33 为黄色)。 |
CRT_ARCHIVE | True | 是否启用证书归档(保留历史版本)。 |
DEBUG | False | 是否开启调试模式(输出详细日志)。 |
REPLACE_ASTERISK | STAR | 替换域名中星号(*)的字符串(如 *.example.com 转为 STAR.example.com)。域名会转为小写,但此字符串不额外处理。 |
STORE_FLAT_CRTS | True | 是否启用扁平化存储(所有证书存放在 flat 目录,不按域名分目录)。 |
LIMIT_FQDN | – | 限制处理的 FQDN 列表(逗号分隔,如 foo.example.com,bar.example.com)。 |
RUN_SCRIPT | – | 证书更新后执行的脚本名(需挂载至容器内 ${WORKDIR} 目录,无需路径前缀)。用于触发后续操作(如重启容器)。 |
WORKDIR | /certs_extract | 工作目录,除非重新构建镜像,否则请勿修改。 |
环境变量中的颜色码为 ANSI 转义序列的数值部分(脚本自动添加前缀 \u001b 和后缀 m)。格式由多个部分组成,用分号分隔:
0(默认)、1(加粗)、4(下划线)等。3 开头,如 31(红色)、32(绿色)、33(黄色)。4 开头,如 43(黄色背景)。示例:1;31 表示“加粗红色前景色”,对应错误消息;0;32 表示“默认绿色前景色”,对应成功消息。
工具在 CERTSDIR(默认 /certs)下生成以下目录结构:
certs 目录(按域名分目录存储)按域名创建子目录,存放当前证书文件。包含主域名及所有主题备用名称(SANs)对应的目录。每个域名目录下文件:
privkey.pem:私钥cert.pem:证书chain.pem:证书链fullchain.pem:完整证书链(证书+证书链)flat 目录(扁平化存储)所有证书文件直接存放在此目录,文件名格式为 <域名>.<类型>:
<域名>.key:私钥(对应 privkey.pem)<域名>.crt:证书(对应 cert.pem)<域名>.chain.pem:证书链(对应 chain.pem)<域名>_full.crt:完整证书链(对应 fullchain.pem)说明:仅当
STORE_FLAT_CRTS=True时生成此目录。
archive 目录(证书归档)按域名和时间戳存储历史证书版本,目录结构为 archive/<域名>/<时间戳>/,包含该时间点的证书文件。时间戳格式为 %Y%m%d%H%M%S(如 20240520153045)。
说明:仅当
CRT_ARCHIVE=True时生成此目录。
CONTRIBUTING.md 文件。免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429