如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
以下是如何在 Docker 容器中运行 acme.sh 的简要指南,旨在简化 SSL/TLS 证书的获取与更新流程。
1. 拉取 acme.sh Docker 镜像
首先,从 Docker Hub 拉取官方镜像:
bashdocker pull docker.xuanyuan.run/neilpang/acme.sh
2. 运行 acme.sh 容器
使用以下命令启动容器,核心是挂载本地目录以持久化证书和配置,并设置必要的环境变量。
基础运行命令示例:
bashdocker run --rm -it \ -v "$(pwd)/acme.sh:/acme.sh" \ -e "EMAIL=[邮箱已删除]" \ --net=host \ docker.xuanyuan.run/neilpang/acme.sh --issue -d example.com --standalone
参数说明:
-v "$(pwd)/acme.sh:/acme.sh": 将本地当前目录下的 acme.sh 文件夹挂载到容器内的 /acme.sh,用于存储证书、密钥和配置。-e "EMAIL=[邮箱已删除]": 设置注册***,用于证书到期通知等。--net=host: 使用主机网络模式(如需绑定 80/443 端口验证时推荐,非必须,视验证方式而定)。neilpang/acme.sh: 镜像名称。--issue -d example.com --standalone: 这是传递给 acme.sh 的具体命令,用于签发证书(示例为 standalone 模式)。3. 获取证书
根据你的验证方式(HTTP-01、DNS-01 等),调整容器启动命令中的 acme.sh 参数。
示例 1:HTTP-01 验证(需 80 端口)
bashdocker run --rm -it \ -v "$(pwd)/acme.sh:/acme.sh" \ -e "EMAIL=[邮箱已删除]" \ -p 80:80 \ docker.xuanyuan.run/neilpang/acme.sh --issue -d example.com --webroot /var/www/html
注:需确保 /var/www/html 是你网站的根目录,并正确挂载。
示例 2:DNS-01 验证(推荐,无需开放端口) 以 Cloudflare DNS 为例,需先设置 API 密钥环境变量:
bashdocker run --rm -it \ -v "$(pwd)/acme.sh:/acme.sh" \ -e "EMAIL=[邮箱已删除]" \ -e "CF_Key=your_cloudflare_api_key" \ -e "CF_Email=your_cloudflare_email" \ docker.xuanyuan.run/neilpang/acme.sh --issue -d example.com --dns dns_cf
不同 DNS 提供商需设置对应的环境变量,具体参考 acme.sh 文档。
4. 安装/复制证书
证书生成后存储在挂载的本地目录(./acme.sh/example.com/)。你可以通过 --install-cert 命令将证书复制到指定位置(例如 Nginx 配置目录):
bashdocker run --rm -it \ -v "$(pwd)/acme.sh:/acme.sh" \ -v "/path/to/nginx/conf:/nginx/conf" \ docker.xuanyuan.run/neilpang/acme.sh --install-cert -d example.com \ --key-file /nginx/conf/key.pem \ --fullchain-file /nginx/conf/cert.pem \ --reloadcmd "nginx -s reload"
5. 自动更新证书
acme.sh 容器默认会自动更新证书(通过内部 cron 任务)。确保容器持续运行,或使用 --renew-hook 设置更新后的钩子命令(如重启服务)。
6. 备份与恢复
证书和配置存储在本地挂载的 acme.sh 目录,定期备份该目录即可。恢复时,将备份目录挂载到新容器中。
--net=host 可能带来安全风险,若不使用,需确保端口映射正确(如 HTTP-01 需映射 80 端口)。acme.sh --help 可查看所有可用命令。详细用法和高级配置(如不同 DNS 提供商、证书安装钩子等),请参考官方文档:[Run acme.sh in docker] 。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 neilpang/acme.sh 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: