$ docker pull neilpang/acme.sh
以dns mode運行docker命令linux
$ docker run --rm -it \ -v "$(pwd)/out":/acme.sh \ -e Ali_Key="xxxxxx" \ -e Ali_Secret="xxxx" \ neilpang/acme.sh --issue --dns dns_ali -d domain.cn -d *.domain.cn
成功以後,證書會保存在out文件夾,也能夠指定路徑,修改上面第一行 "$(pwd)/out"
,改成你想要保存的路徑便可git
四 注意github
--dns dns_alidocker
要根據你域名的dns模式選擇,顯然這裏是阿里。因此前面的兩項配置纔是Ali_Key,Ali_Secretapi
Ali_Key,Ali_Secret 服務器
須要從阿里雲後臺獲取dom
不知道本身域名的dns模式能夠去這裏查找 https://github.com/acmesh-official/acme.sh/wiki/dnsapissh
如何獲取域名的dns模式及相關配置,能夠直接找你域名的客服阿里雲
用騰訊作例子spa
$ docker run --rm -it \ -v "$(pwd)/out":/acme.sh \ -e DP_Id="xxxxxx" \ -e DP_Key="xxxx" \ neilpang/acme.sh --issue --dns dns_dp -d domain.cn -d *.domain.cn
ps.
騰訊這坑爹收購了DNSPod,因此是dns_dp
我一開始還覺得是TX_Id,TX_Key,dns_tx之類的
找了一圈,發現本身的阿里服務器正常使用,但就是步驟沒問題
因而問公司拿到域名帳戶,問騰訊客服才知道這事
固然,這跟騰訊無關,坑爹公司的鍋更大
老子幹這個啥都沒有
五
docker run --rm 的命令懂得都懂,運行完就退出,這樣能執行個錘子自動更新ssh證書
方法一
不docker run --rm,直接docker run就行了
優勢簡單,缺點一個容器專門跑這個,太浪費資源了
方法二
定時任務跑docker run --rm,原文的例子就有了
#run cron job docker run --rm -it \ -v "$(pwd)/out":/acme.sh \ --net=host \ neilpang/acme.sh --cron
其實--cron是linux的crontab參數,具體用法不累贅了
喜歡用crontab的用crontab
不喜歡的看看 博文裏的二
方法三
把這玩意和docker守護進程綁一塊兒,畢竟守護進程必須開,不算浪費資源
這是acme.sh的推薦作法
一樣帶原文的例子
$ docker run --rm -itd \ -v "$(pwd)/out":/acme.sh \ --net=host \ --name=acme.sh \ neilpang/acme.sh daemon
六 最終結果
$ docker run --rm -itd \ -v "$(pwd)/out":/acme.sh \ -e DP_Id="xxxxxx" \ -e DP_Key="xxxx" \ neilpang/acme.sh --issue --dns dns_dp -d domain.cn -d *.domain.cn daemon