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

本镜像为 Electronic Frontier Foundation (EFF) 官方构建的 Certbot Docker 镜像,集成了 DigitalOcean DNS 插件。主要用于通过 DNS-01 挑战(DNS-01 challenge)自动化获取和续期 Let's Encrypt SSL/TLS 证书,适用于使用 DigitalOcean 作为 DNS 服务提供商的用户。
*.example.com)申请证书。*.example.com)或跨子域名批量申请证书。dns:edit 权限的个人访问令牌(Personal Access Token),用于操作 DNS 记录。以下示例通过 docker run 命令申请证书,使用环境变量传入 DigitalOcean API 令牌:
docker run --rm \ -v /etc/letsencrypt:/etc/letsencrypt \ # 挂载证书存储目录(持久化证书和配置) -v /var/log/letsencrypt:/var/log/letsencrypt \ # 挂载日志目录 -e DO_API_TOKEN="your_digitalocean_api_token" \ # DigitalOcean API 令牌(必填) certbot/dns-digitalocean \ certonly \ # 仅申请证书(不自动配置服务器) --dns-digitalocean \ # 启用 DigitalOcean DNS 插件 --dns-digitalocean-token-env DO_API_TOKEN \ # 指定 API 令牌环境变量名 --email "***" \ # 管理员邮箱(用于证书过期提醒) --agree-tos \ # 同意 Let's Encrypt 服务条款 --no-eff-email \ # 不向 EFF 发送邮件(可选) -d "example.com" \ # 目标域名(可重复 -d 参数添加多个域名) -d "*.example.com" # 通配符域名(需 DNS-01 挑战支持)
通过 docker-compose.yml 定义服务,实现证书申请与续期自动化:
version: '3' services: certbot: image: certbot/dns-digitalocean volumes: - ./letsencrypt:/etc/letsencrypt # 本地目录挂载,持久化证书和配置 - ./logs:/var/log/letsencrypt # 日志目录 - ./credentials:/etc/certbot/credentials # 凭证文件目录(可选,替代环境变量) environment: - TZ=Asia/Shanghai # 时区设置(可选) command: > certonly --dns-digitalocean --dns-digitalocean-credentials /etc/certbot/credentials/digitalocean.ini # 凭证文件路径 --email *** --agree-tos --non-interactive # 非交互式模式(适合脚本/定时任务) --keep-until-expiring # 仅在证书即将过期时续期 -d example.com -d *.example.com
凭证文件示例(./credentials/digitalocean.ini,需设置权限 chmod 600):
dns_digitalocean_token = your_digitalocean_api_token
| 参数 | 说明 | 示例 |
|---|---|---|
certonly | 仅申请证书,不自动配置 Web 服务器 | certonly |
--email | 管理员邮箱(用于证书通知) | --email *** |
--agree-tos | 同意 Let's Encrypt 服务条款 | --agree-tos |
--non-interactive | 非交互式运行(适合自动化脚本) | --non-interactive |
-d | 目标域名(可重复指定多个) | -d example.com -d test.com |
--dry-run | 测试模式(不实际申请证书) | --dry-run |
| 参数 | 说明 | 示例 |
|---|---|---|
--dns-digitalocean | 启用 DigitalOcean DNS 插件 | --dns-digitalocean |
--dns-digitalocean-token | 直接指定 DigitalOcean API 令牌(不推荐,明文暴露) | --dns-digitalocean-token "token" |
--dns-digitalocean-token-env | 从环境变量读取 API 令牌 | --dns-digitalocean-token-env DO_TOKEN |
--dns-digitalocean-credentials | 从文件读取 API 令牌(推荐,更安全) | --dns-digitalocean-credentials /path/to/ini |
--dns-digitalocean-propagation-seconds | DNS 记录传播等待时间(默认 10 秒) | --dns-digitalocean-propagation-seconds 30 |
dns:edit 权限,否则无法添加/删除 TXT 记录。600,仅 root 可读写)。volumes 挂载本地目录存储 /etc/letsencrypt,避免容器删除导致证书丢失。docker run --rm ... renew)定期执行证书续期,例如:
# 每日凌晨 3 点执行续期检查 0 3 * * * docker run --rm -v /etc/letsencrypt:/etc/letsencrypt certbot/dns-digitalocean renew --non-interactive
/var/log/letsencrypt 目录查看详细日志定位问题。免费版仅支持 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