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

本镜像为EFF(电子前哨基金会)官方构建的Certbot Docker镜像,集成了NS1 DNS插件。Certbot是一款免费开源的SSL/TLS证书管理工具,可自动获取和续期Let's Encrypt等证书颁发机构的证书。NS1 DNS插件允许Certbot通过DNS-01挑战验证域名所有权,适用于域名DNS由NS1托管的场景。
主要用途:通过NS1 DNS服务执行DNS-01挑战,为域名自动获取、续期SSL/TLS证书,无需开放HTTP/HTTPS端口(80/443)。
*.example.com)或多个域名批量获取证书(DNS-01挑战支持通配符证书)。/etc/letsencrypt)。通过docker run命令直接运行容器,指定NS1 API密钥、目标域名及证书存储路径:
docker run -it --rm \ -v /etc/letsencrypt:/etc/letsencrypt \ # 挂载本地目录持久化证书和配置 -e NS1_API_KEY="your_ns1_api_key" \ # 注入NS1 API密钥(替换为实际密钥) certbot/dns-ns1 \ # 镜像名称(根据实际镜像标签调整,如:v1.7.0) certonly \ # Certbot子命令:获取证书 --dns-ns1 \ # 指定使用NS1 DNS插件 --non-interactive \ # 非交互式模式(自动化必备) --agree-tos \ # 同意Let's Encrypt服务条款 --email "***" \ # 管理员邮箱(用于证书通知) --domains "example.com,*.example.com" # 目标域名(支持多个域名或通配符)
Certbot默认支持自动续期(证书到期前30天触发),可通过renew子命令手动触发:
docker run -it --rm \ -v /etc/letsencrypt:/etc/letsencrypt \ -e NS1_API_KEY="your_ns1_api_key" \ certbot/dns-ns1 \ renew \ # Certbot续期子命令 --dns-ns1 \ --non-interactive \ --force-renewal # 强制续期(测试用,生产环境建议省略)
创建docker-compose.yml文件,集成证书持久化和自动续期:
version: '3.8' services: certbot-ns1: image: certbot/dns-ns1:v1.7.0 # 指定镜像版本(推荐固定版本而非latest) container_name: certbot-ns1 environment: - NS1_API_KEY=your_ns1_api_key # 替换为实际NS1 API密钥 volumes: - ./letsencrypt:/etc/letsencrypt # 本地目录挂载,持久化证书和配置 - ./certbot-logs:/var/log/letsencrypt # 可选:挂载日志目录 command: certonly --dns-ns1 --non-interactive --agree-tos --email *** --domains example.com,*.example.com restart: "no" # 证书获取为一次性任务,无需常驻(续期通过cron或Certbot定时器实现)
Certbot镜像内置certbot renew命令,可通过系统crontab或Docker Compose定时任务触发:
系统crontab示例(每天凌晨3点执行续期检查):
0 3 * * * docker run --rm -v /path/to/letsencrypt:/etc/letsencrypt -e NS1_API_KEY=your_key certbot/dns-ns1 renew
cron容器)通过ofelia等定时任务容器触发Certbot续期:
# docker-compose.yml 补充内容 services: ofelia: image: mcuadros/ofelia:latest volumes: - /var/run/docker.sock:/var/run/docker.sock command: daemon --config /etc/ofelia/config.ini configs: - source: ofelia-config target: /etc/ofelia/config.ini configs: ofelia-config: content: | [job-exec "certbot-renew"] schedule = 0 3 * * * container = certbot-ns1 command = certbot renew --dns-ns1 --non-interactive
| 环境变量名 | 说明 | 是否必填 | 示例值 |
|---|---|---|---|
NS1_API_KEY | NS1 API密钥,用于鉴权并修改DNS记录 | 是 | k1234567890abcdef... |
| 参数 | 说明 | 适用场景 |
|---|---|---|
certonly | 仅获取证书(不安装到服务器) | 所有证书获取场景 |
renew | 续期所有即将到期的证书(默认30天内) | 证书续期 |
--dns-ns1 | 指定使用NS1 DNS插件执行DNS-01挑战 | 必须配合NS1插件使用 |
--non-interactive | 非交互式运行(自动化必备,无手动确认) | 脚本或容器化环境 |
--agree-tos | 自动同意Let's Encrypt服务条款 | 非交互式模式必须 |
--email <email> | 管理员邮箱(用于证书到期通知) | 必须(Let's Encrypt要求) |
--domains <domain1,domain2> | 目标域名列表(支持通配符,逗号分隔) | 指定证书覆盖的域名 |
--force-renewal | 强制续期(忽略证书剩余有效期) | 测试或证书损坏修复 |
--dry-run | 模拟操作(不实际申请/续期证书) | 配置测试 |
| 容器内路径 | 用途 | 建议挂载方式 |
|---|---|---|
/etc/letsencrypt | 存储证书、私钥、配置文件 | 本地目录挂载(如./letsencrypt:/etc/letsencrypt) |
/var/log/letsencrypt | 存储Certbot操作日志 | 可选挂载(调试或审计用) |
v1.7.0),避免因latest标签自动更新导致兼容性问题。/etc/letsencrypt目录包含所有证书和私钥,建议定期备份,防止数据丢失。/var/log/letsencrypt),及时发现续期失败等问题(如API密钥过期、DNS解析延迟)。免费版仅支持 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