
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
docker-nginx-certbot 是一个集成了 Nginx 和 Certbot 的 Docker 镜像,旨在简化 HTTPS 部署流程。该镜像实现了自动化获取、配置和续期 Let's Encrypt SSL 证书,无需手动干预证书管理,让用户能够快速搭建支持 HTTPS 的 Web 服务。
首次启动(申请证书)
bashdocker run -d \ --name nginx-certbot \ -p 80:80 \ -p 443:443 \ -e "DOMAINS=example.com www.example.com" \ -e "EMAIL=admin@example.com" \ -v ./nginx/conf.d:/etc/nginx/conf.d \ -v ./certbot/conf:/etc/letsencrypt \ -v ./certbot/www:/var/www/certbot \ jonasal/nginx-certbot
参数说明:
-p 80:80:映射 HTTP 端口(Let's Encrypt 验证需通过 80 端口)-p 443:443:映射 HTTPS 端口-e "DOMAINS=...":指定需要申请证书的域名,多个域名用空格分隔-e "EMAIL=...":Let's Encrypt 注册***(用于证书过期通知及恢复)./nginx/conf.d:本地 Nginx 配置目录,映射到容器内 /etc/nginx/conf.d./certbot/conf:本地证书存储目录,映射到容器内 /etc/letsencrypt(持久化证书)./certbot/www:Let's Encrypt 验证文件目录,映射到容器内 /var/www/certbot创建 docker-compose.yml 文件:
yamlversion: '3' services: nginx-certbot: image: jonasal/nginx-certbot container_name: nginx-certbot ports: - "80:80" - "443:443" environment: - DOMAINS=example.com www.example.com - EMAIL=admin@example.com - STAGING=0 # 1 启用测试环境(避免 Let's Encrypt 速率限制),0 禁用 volumes: - ./nginx/conf.d:/etc/nginx/conf.d - ./certbot/conf:/etc/letsencrypt - ./certbot/www:/var/www/certbot restart: unless-stopped
启动服务:
bashdocker-compose up -d
| 环境变量 | 说明 | 默认值 |
|---|---|---|
DOMAINS | 需申请证书的域名,多个域名用空格分隔(必填) | 无 |
EMAIL | Let's Encrypt 注册***(用于证书通知及恢复,必填) | 无 |
STAGING | 是否使用 Let's Encrypt 测试环境(1=启用,0=禁用) | 0 |
CERTBOT_ARGS | 传递给 Certbot 的额外参数(如 --rsa-key-size 4096 指定密钥长度) | 无 |
RENEW_BEFORE | 证书到期前多少天开始续期(单位:天) | 30 |
NGINX_CONF | 自定义 Nginx 主配置文件路径(容器内路径) | /etc/nginx/nginx.conf |
./ ├── docker-compose.yml ├── nginx/ │ └── conf.d/ # Nginx 站点配置目录(需手动创建) │ └── example.conf # 自定义站点配置文件 └── certbot/ ├── conf/ # 证书存储目录(自动生成) └── www/ # Let's Encrypt 验证文件目录(自动生成)
./nginx/conf.d:/etc/nginx/conf.d:挂载自定义 Nginx 站点配置,需提前创建并添加站点配置文件(示例见下文)./certbot/conf:/etc/letsencrypt:持久化存储 Let's Encrypt 证书文件,避免容器重建后证书丢失./certbot/www:/var/www/certbot:Let's Encrypt ACME 验证文件存放目录,用于域名所有权验证./nginx/conf.d/example.conf)nginxserver { listen 80; server_name example.com www.example.com; # 将 HTTP 请求重定向到 HTTPS location / { return 301 https://$host$request_uri; } # Let's Encrypt 验证文件访问路径 location /.well-known/acme-challenge/ { root /var/www/certbot; } } server { listen 443 ssl; server_name example.com www.example.com; # SSL 证书配置(证书由 Certbot 自动生成,路径固定) ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # 推荐的 SSL 安全配置(可选) ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; # 网站根目录(根据实际需求修改) root /usr/share/nginx/html; index index.html; location / { try_files $uri $uri/ =404; } }
若需为多个独立域名配置证书,可在 DOMAINS 中指定多个域名(空格分隔),并为每个域名创建对应的 Nginx 配置文件。例如:
yamlenvironment: - DOMAINS=example.com www.example.com blog.example.com
DOMAINS 中指定的域名/.well-known/acme-challenge/ 路径)/etc/letsencrypt/live/<主域名>/ 目录RENEW_BEFORE 天数(默认 30 天)时,自动执行续期操作DOMAINS 中指定的域名已正确解析至主机 IPSTAGING=1)可避免触发限制docker exec nginx-certbot nginx -s reload 使配置生效./certbot/conf 目录,防止证书文件丢失导致服务中断您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



来自真实用户的反馈,见证轩辕镜像的优质服务