官方Docker镜像:certbot/certbot – Docker Image | Docker Hub
原理:将网页根目录挂载到 Certbot 的容器内部
示例(www.example.com是你的域名、your.email@example.com是你的邮箱):
Nginx 容器启动命令:
docker run -it --rm --name nginx \
-v "/etc/nginx:/etc/nginx" \
-v "/etc/letsencrypt:/etc/letsencrypt" \
-v "/usr/share/nginx/html:/usr/share/nginx/html" \
nginx
Certbot 第一次获取证书:
(-d 参数可以是多个域名:existing.com,example.com,newdomain.com)
docker run -it --rm --name certbot \
-v "/etc/letsencrypt:/etc/letsencrypt" \
-v "/var/lib/letsencrypt:/var/lib/letsencrypt" \
-v "/usr/share/nginx/html:/usr/share/nginx/html" \
certbot/certbot certonly --webroot \
-w /usr/share/nginx/html \
-d www.example.com \
--email your.email@example.com \
--agree-tos --no-eff-email
- 参数说明:
certonly --webroot
:使用 Webroot 插件验证域名并生成证书。-d
:指定域名(替换为你的实际域名)。--email
:设置联系邮箱。--agree-tos
:同意 Let’s Encrypt 服务条款。--no-eff-email
:不订阅 EFF 邮件。
- 结果:证书会存储在
/etc/letsencrypt/live/example.com/
目录下。
Certbot 续签证书:
docker run -it --rm --name certbot \
-v "/etc/letsencrypt:/etc/letsencrypt" \
-v "/var/lib/letsencrypt:/var/lib/letsencrypt" \
-v "/usr/share/nginx/html:/usr/share/nginx/html" \
certbot/certbot renew
发表回复