专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429

nginxproxy/acme-companion Docker 镜像 - 轩辕镜像

acme-companion
nginxproxy/acme-companion
为nginx-proxy提供自动化ACME SSL证书生成
156 收藏0 次下载activenginxproxy镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

![Tests]([] ![GitHub release]([]

acme-companion是nginx-proxy的轻量级配套容器。

它通过ACME协议处理代理Docker容器的SSL证书自动创建、续期和使用。

特性

  • 使用acme.sh自动创建/续期Let's Encrypt(或其他ACME CA)证书。
  • Let's Encrypt / ACME域名验证支持HTTP-01(默认)或DNS-01验证方式。
  • 证书创建/续期时自动更新和重新加载nginx配置。
  • 支持创建多域名(SAN)证书。
  • 支持创建通配符证书(仅支持DNS-01验证)。
  • 启动时创建强加密的RFC7919 Diffie-Hellman组。
  • 兼容所有Docker版本。

HTTP-01验证要求

  • 您的主机必须能通过端口80和443公开访问。
  • 检查您的防火墙规则,不要尝试阻止端口80,否则会导致HTTP-01验证失败。
  • 出于同样原因,不能使用nginx-proxy的HTTPS_METHOD=nohttp配置。
  • 您要申请证书的(子)域名必须正确解析到主机。
  • 如果您的(子)域名设置了AAAA记录,主机必须通过IPv6在端口80和443上公开可达。

如果无法满足这些要求,可使用DNS-01验证方式。详情请参考文档。

此外,请确保您的DNS提供商正确响应CAA记录请求。若DNS提供商响应错误,Let's Encrypt将不会为您的域名颁发证书。Let's Encrypt不要求域名设置CAA记录,只需DNS提供商正确响应即可。

!schema

基本使用(配合nginx-proxy容器)

nginx-proxy容器必须声明两个可写卷,以便与acme-companion容器共享:

  • /etc/nginx/certs:存储证书和私钥(nginx-proxy容器为只读)。
  • /usr/share/nginx/html:写入http-01验证文件。

此外,acme-companion容器需声明第三个卷以存储acme.sh配置和状态:/etc/acme.sh。

另请阅读数据持久化文档。

使用示例:

步骤1 - nginx-proxy

启动nginx-proxy并声明两个额外卷:

shell
$ docker run --detach \
    --name nginx-proxy \
    --publish 80:80 \
    --publish 443:443 \
    --volume certs:/etc/nginx/certs \
    --volume html:/usr/share/nginx/html \
    --volume /var/run/docker.sock:/tmp/docker.sock:ro \
    nginxproxy/nginx-proxy

将主机的docker socket(/var/run/docker.sock)挂载到容器内的/tmp/docker.sock是nginx-proxy的要求。

步骤2 - acme-companion

启动acme-companion容器,通过--volumes-from获取nginx-proxy的卷:

shell
$ docker run --detach \
    --name nginx-proxy-acme \
    --volumes-from nginx-proxy \
    --volume /var/run/docker.sock:/var/run/docker.sock:ro \
    --volume acme:/etc/acme.sh \
    --env "DEFAULT_EMAIL=***" \
    nginxproxy/acme-companion

该容器也需挂载主机docker socket,路径为/var/run/docker.sock。

虽然可选,但建议通过DEFAULT_EMAIL环境变量提供有效的默认***,以便Let's Encrypt在证书过期时提醒您并允许账户恢复。

步骤3 - 被代理容器

当nginx-proxy和acme-companion容器均启动后,启动需代理的容器时,需设置VIRTUAL_HOST和LETSENCRYPT_HOST环境变量,值为该容器使用的域名。

VIRTUAL_HOST控制nginx-proxy的代理配置,LETSENCRYPT_HOST控制acme-companion的证书创建和SSL启用。

只有同时设置VIRTUAL_HOST和LETSENCRYPT_HOST且域名正确解析到主机、主机可公开访问时,才会颁发证书。

shell
$ docker run --detach \
    --name your-proxied-app \
    --env "VIRTUAL_HOST=subdomain.yourdomain.tld" \
    --env "LETSENCRYPT_HOST=subdomain.yourdomain.tld" \
    nginx

被代理容器必须暴露需代理的端口,可通过Dockerfile的EXPOSE指令或docker run/docker create的--expose标志实现。

若被代理容器监听并暴露的端口非默认80,可通过VIRTUAL_PORT环境变量强制nginx-proxy使用该端口。

例如使用Grafana(暴露并监听3000端口):

shell
$ docker run --detach \
    --name grafana \
    --env "VIRTUAL_HOST=othersubdomain.yourdomain.tld" \
    --env "VIRTUAL_PORT=3000" \
    --env "LETSENCRYPT_HOST=othersubdomain.yourdomain.tld" \
    --env "LETSENCRYPT_EMAIL=***" \
    grafana/grafana

对其他需代理的容器,重复步骤3即可。

额外文档

请查看文档部分。

查看更多 acme-companion 相关镜像 →
bitnami/acmesolver logo
bitnami/acmesolver
by VMware
认证
ACME Solver是cert-manager项目的关键组件,作为Kubernetes插件,负责确保TLS证书持续有效并定期更新,可在证书到期前自动执行续订操作。Bitnami安全镜像版本具备非root运行、最小攻击面及FIPS合规配置等特性,适用于开发与生产环境中的证书自动化管理场景。
2500K+ pulls
上次更新:5 个月前
cleanstart/cert-manager-acmesolver logo
cleanstart/cert-manager-acmesolver
by CleanStart
认证
cert-manager的ACME求解器组件,专为企业Kubernetes环境设计,提供自动化证书管理与验证,实现安全合规的证书挑战解析,基于CleanStart最小化安全加固操作系统构建。
10K+ pulls
上次更新:5 天前
rancher/cert-manager-acmesolver logo
rancher/cert-manager-acmesolver
by Rancher by SUSE
认证
暂无描述
8.5K pulls
上次更新:6 年前
rancher/cert-manager-acmesolver-arm64 logo
rancher/cert-manager-acmesolver-arm64
by Rancher by SUSE
认证
暂无描述
3.9K pulls
上次更新:6 年前
cccs/assemblyline-service-unpacme logo
cccs/assemblyline-service-unpacme
by Canadian Centre for Cyber Security
暂无描述
50K+ pulls
上次更新:7 个月前
goacme/lego logo
goacme/lego
by goacme
这是一个用Go语言编写的Let's Encrypt客户端及ACME协议库,其中Let's Encrypt是全球广泛使用的免费SSL/TLS证书颁发机构,专注于提供自动化的证书获取与更新服务,ACME协议则是实现证书自动化管理的核心标准,而Go语言的高效性能、简洁语法及跨平台特性,使得该客户端和库能为开发者提供轻量、可靠的证书管理工具,帮助用户轻松实现网站HTTPS加密配置,简化证书申请、续期及部署流程,适用于各类服务器环境和开发项目。
215M+ pulls
上次更新:5 天前

轩辕镜像配置手册

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

登录仓库拉取

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

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

MacOS OrbStack

MacOS OrbStack 容器配置

宝塔面板

在宝塔面板一键配置镜像

群晖

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访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
nginxproxy/acme-companion
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
咨询镜像拉取问题请 提交工单,官方技术交流群:13763429
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
咨询镜像拉取问题请提交工单,官方技术交流群:
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.