1、docker下载镜像
docker pull  certbot/certbot 
2、certbot 启动配置
docker run -it --rm --name certbot \
	-v "/root/docker/certbot/ssl/:/etc/letsencrypt/" \
	-v "/root/docker/nginx/www/:/var/www/html/" \
                -v "/root/docker/certbot/letsencrypt/:/var/lib/letsencrypt" \
	-v "/root/docker/certbot/log/:/var/log/letsencrypt" \
	certbot/certbot certonly -n --no-eff-email --email demo@demo.com   --agree-tos --webroot -w /var/www/html -d www.baidu.com
 
说明:
--rm 执行完成后便删除实例
/root/docker/certbot/ssl/                     生成证书等信息位置
/root/docker/nginx/www/                    nginx的根页面地址  (这个位置 配置很重要,webroot 会请                                                              求这个位置)
 /root/docker/certbot/letsencrypt/       certbot执行生成的信息
 /root/docker/certbot/log/                    certbot执行生成的日志
--email demo@demo.com 配置自己的真实邮箱地址
--webroot -w /var/www/html 指向对应nginx的根页面地址
-d www.baidu.com 域名,多个域名可以多次写这个配置
3、执行生成后,证书在配置位置的live里


4、可能存在的问题:

原因:
域名下的 /.well-known/acme-challenge/NHz9-CH4W0RkSC2rH1BORGtdEdk9-43JM3dXiWd_U_o 这个路径,Let's Encrypt 服务器访问不到,所以需要配置一下 nginx/conf/nginx.conf 文件
在 nginx 的 nginx.conf 文件中写入以下配置
server { 
listen 80; 
server_name www.ok.com; 
location ^~ /.well-known/acme-challenge/ {
default_type "text/plain"; 
root   /www;
} 
location = /.well-known/acme-challenge/ {
 return 404; 
} 
}
 
  










