docker certbot 一键申请https证书、证书过期续订、续订成功自动重启服务

前言

镜像简介

  • 镜像名:loganjindev/certbot:v1.0.0
  • 基础镜像:ubuntu:20.04
  • 用户:root
  • 时区:Asia/Shanghai
  • 字符集:LANG=C.UTF-8
  • python编码:PYTHONIOENCODING=utf-8
  • 软件:预装certbotgitcronvim
  • 可配置环境变量:CRONTAB、RENEWAL、DEPLOY_HOOK、EMAIL、CLOUD_TYPE、ALY_KEY、ALY_TOKEN、TXY_KEY、TXY_TOKEN、HWY_KEY、HWY_TOKEN、GODADDY_KEY、GODADDY_TOKEN、DOMAIN_NAME_LIST
  • 镜像截图:

环境变量注释

  • DOMAIN_NAME_LIST:需要注册的域名列表,多个域名用","隔开,例:example.com,example2.com,example3.com

  • CRONTAB:此变量主要功能为自定义配置续订证书的定时任务命令,默认值为空不设置定时任务,多个定时任务 \n 隔开

  • RENEWAL:证书到期是否续订,默认值为yes续订,值可选yes/no

  • DEPLOY_HOOK:续费成功要重启的服务,比如重启nginx容器:docker exec -it nginx service nginx restart,如不需要重启则不用配置此变量

  • EMAIL:申请证书要用到的邮箱地址

  • CLOUD_TYPE:使用云解析dns类型,可选 aly/txy/hwy/godaddy(阿里云、腾讯云、华为云、GoDaddy) 四种类型

  • ALY_KEY:阿里云 AccessKey ID

  • ALY_TOKEN:阿里云 AccessKey Secret

  • TXY_KEY:腾讯云 AccessKey ID

  • TXY_TOKEN:腾讯云 AccessKey Secret

  • HWY_KEY:华为云 AccessKey ID

  • HWY_TOKEN:华为云 AccessKey Secret

  • GODADDY_KEY:GoDaddy AccessKey ID

  • GODADDY_TOKEN:GoDaddy AccessKey Secret

快速安装docker

  • 如未安装docker的用户请查看此篇博客:https://www.loganjin.cn/article/docker-install/

阿里云dns解析示例

  • 拉取镜像:docker pull loganjindev/certbot:v1.0.0
  • 执行命令
docker run -itd --name certbot \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /usr/bin/docker:/usr/bin/docker \
    --user root \
    -e DEPLOY_HOOK="docker exec -it nginx service nginx restart" \
    -e ALY_KEY="xxxxxxxxxxxxxxxx" \
    -e ALY_TOKEN="xxxxxxxxxxxxxxxx" \
    -e EMAIL="xxxxxx@126.com" \
    -e CLOUD_TYPE="aly" \
    -e DOMAIN_NAME_LIST="*.example.cn,*.example.com,*.example.net" \
    -v /etc/letsencrypt/archive/:/etc/letsencrypt/archive/ \
    loganjindev/certbot:v1.0.0
    
# 命令解析:
# 以下三行主要用来在docker容器内操作其他容器的服务,如不需要重启其他容器服务则不需要加这三行命令
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
--user root \
# 在容器内重启其他容器内的nginx服务
-e DEPLOY_HOOK="docker exec -it nginx service nginx restart" \
# 阿里云的Key 和 Secret,xxxxxxxxxxxxxxxx 替换为你个人的
-e ALY_KEY="xxxxxxxxxxxxxxxx" \
-e ALY_TOKEN="xxxxxxxxxxxxxxxx" \
# 你的个人邮箱申请证书用
-e EMAIL="xxxxxx@126.com" \
# 云解析类型 当前选择是阿里云
-e CLOUD_TYPE="aly" \
# 需要申请证书域名列表
-e DOMAIN_NAME_LIST="*.example.cn,*.example.com,*.example.net" \
# 证书生成目录,如其他容器要用到此证书直接挂载此目录即可
-v /etc/letsencrypt/archive/:/etc/letsencrypt/archive/ \
# 镜像名
loganjindev/certbot:v1.0.0

总结

  • 本镜像适合不想破坏宿主机的朋友们,docker容器一键申请,不用了直接删除容器即可。
  • 如如部署或者其他问题欢迎去我的博客(www.loganjin.cn)留言或者微信公众号(Python技术交流圈)留言交流哦。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值