
certbot/dns-sakuracloud该镜像为Certbot的官方Docker构建,集成了Sakura Cloud DNS插件,用于通过DNS-01挑战自动化获取、续期Let's Encrypt SSL/TLS证书。核心功能是利用Sakura Cloud DNS服务完成域名所有权验证,支持自动化证书生命周期管理。
*.example.com)或多域名证书,无需暴露Web服务器端口。SAKURACLOUD_ACCESS_TOKEN和SAKURACLOUD_ACCESS_TOKEN_SECRET)。bashdocker run -it --rm \ -v "/etc/letsencrypt:/etc/letsencrypt" \ # 持久化存储证书 -v "/var/lib/letsencrypt:/var/lib/letsencrypt" \ # 存储Certbot工作文件 -e "SAKURACLOUD_ACCESS_TOKEN=your_sakuracloud_token" \ # Sakura Cloud API令牌 -e "SAKURACLOUD_ACCESS_TOKEN_SECRET=your_sakuracloud_secret" \ # Sakura Cloud API密钥 certbot/dns-sakuracloud:v1.7.0 \ certonly \ # 仅申请证书(不自动部署) --dns-sakuracloud \ # 启用Sakura Cloud DNS插件 --email *** \ # 管理员***(用于证书通知) --agree-tos \ # 同意Let's Encrypt服务条款 --no-eff-email \ # 不向EFF发送邮件 -d example.com \ # 主域名 -d "*.example.com" # 通配符域名
bashdocker run -it --rm \ -v "/etc/letsencrypt:/etc/letsencrypt" \ -v "/var/lib/letsencrypt:/var/lib/letsencrypt" \ -e "SAKURACLOUD_ACCESS_TOKEN=your_sakuracloud_token" \ -e "SAKURACLOUD_ACCESS_TOKEN_SECRET=your_sakuracloud_secret" \ certbot/dns-sakuracloud:v1.7.0 \ renew \ # 续期所有即将过期的证书 --dns-sakuracloud \ --quiet # 静默模式(仅输出错误信息)
创建docker-compose.yml:
yamlversion: '3' services: certbot: image: certbot/dns-sakuracloud:v1.7.0 volumes: - ./letsencrypt/etc:/etc/letsencrypt # 本地目录挂载(持久化证书) - ./letsencrypt/lib:/var/lib/letsencrypt environment: - SAKURACLOUD_ACCESS_TOKEN=your_sakuracloud_token - SAKURACLOUD_ACCESS_TOKEN_SECRET=your_sakuracloud_secret command: > certonly --dns-sakuracloud --email *** --agree-tos --no-eff-email -d example.com -d "*.example.com"
运行:docker-compose up
| 变量名 | 描述 | 是否必需 |
|---|---|---|
SAKURACLOUD_ACCESS_TOKEN | Sakura Cloud API访问令牌 | 是 |
SAKURACLOUD_ACCESS_TOKEN_SECRET | Sakura Cloud API访问密钥 | 是 |
| 参数 | 描述 | 默认值 |
|---|---|---|
--dns-sakuracloud-credentials PATH | 指定Sakura Cloud凭证配置文件路径(替代环境变量) | 无 |
--dns-sakuracloud-propagation-seconds | DNS记录传播等待时间(秒) | 60 |
若不使用环境变量,可创建INI格式凭证文件(如./sakuracloud.ini):
inidns_sakuracloud_access_token = your_sakuracloud_token dns_sakuracloud_access_token_secret = your_sakuracloud_secret
使用时需通过--dns-sakuracloud-credentials /path/to/sakuracloud.ini指定路径,并确保文件权限限制为600(仅所有者可读)。
/etc/letsencrypt)必须持久化挂载,避免容器重启后证书丢失。renew命令(如每日运行),确保证书在过期前自动续期。dns:read和dns:write)。





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务