V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
neilp
V2EX  ›  SSL

据说 Docker 族都有洁癖, 我也是. acme.sh 发布 docker image 啦(acme.sh 是生成 letsencrypt 免费 ssl 证书的纯 shell 脚本)

  •  
  •   neilp · 2017-04-03 13:08:14 +08:00 · 5796 次点击
    这是一个创建于 2793 天前的主题,其中的信息可能已经有所发展或是发生改变。

    作为 docker 用户, 最不希望的就是别人污染 docker host, 哪怕是拷贝一个 纯 shell 脚本 都像是要了命.

    话不多说:

    1. acme.sh 采用了最轻的 alpine base image.
    2. 并且支持作为可执行程序运行 和 作为守护进程 两种模式.
    3. 100% 支持 所有 acme.sh 已有的命令行参数.

    在这里简要的说一下用法:

    1. Hello world

    docker run --rm neilpang/acme.sh
    
    

    2. 作为可执行程序运行:

    上面的 hello world 并不会产生什么实际效果. 只会显示出 acme.sh 的帮助信息.

    我们生成一个证书试试:

    docker run --rm  -it  \
      -v "$(pwd)/out":/acme.sh  \
      --net=host \
      neilpang/acme.sh  --issue -d example.com  --standalone
    

    注意上面最后一行, 可以携带所有 acme.sh 支持的命令行参数. 100% 兼容.

    最后生成的证书都在 当前目录下的 out/ 里面.

    3. 作为守护进程运行:

    另外一种更方便的用法是作为守护进程运行, 这样做的好处是可以自动处理自动续签证书.

    第一步启动 daemon:

    docker run --rm  -itd  \
      -v "$(pwd)/out":/acme.sh  \
      --net=host \
      --entrypoint /bin/sh \
      --name=acme.sh \
      neilpang/acme.sh 
    

    第二步: 像 使用 shell 脚本一样使用 docker, 注意下面必须用 docker exec:

    docker  exec  acme.sh --help
    
    docker  exec  acme.sh --issue -d example.com  --standalone
    

    这里的命令行上也可以携带所有 acme.sh 支持的命令行参数. 100% 支持.

    详细的说明请见:

    https://github.com/Neilpang/acme.sh/wiki/Run-acme.sh-in-docker

    11 条回复    2017-04-04 16:12:35 +08:00
    kn007
        1
    kn007  
       2017-04-03 13:23:14 +08:00
    支持
    momocraft
        2
    momocraft  
       2017-04-03 13:34:06 +08:00
    不错,我用的 letsencrypt.sh (现在叫 dehydrated)
    neilp
        3
    neilp  
    OP
       2017-04-03 13:39:28 +08:00
    @momocraft
    可以对比一下, 可能会有一种 相见恨晚的赶脚.
    momocraft
        4
    momocraft  
       2017-04-03 14:08:04 +08:00
    @neilp
    只看了一下文档,觉得这个也不错,不过以前已经给 lexicon 和 letsencrypt.sh 写好了各种配置文件,可能暂时不会换。
    非常可以理解你的感情..
    defunct9
        5
    defunct9  
       2017-04-03 15:24:40 +08:00 via iPhone
    超级混乱无洁癖的人路过
    neilp
        6
    neilp  
    OP
       2017-04-03 15:42:30 +08:00
    @defunct9 你可能是一个 假的 dockerer
    JackyBao
        7
    JackyBao  
       2017-04-03 22:18:44 +08:00 via Android
    直接 alpine 的底包,然后 apk add certbot 不好?
    neilp
        8
    neilp  
    OP
       2017-04-03 22:36:58 +08:00
    @JackyBao why not have a try ?
    defunct9
        9
    defunct9  
       2017-04-03 22:38:43 +08:00 via iPhone
    @neilp 貌似真的是,我用的是 lxc ,套了层 docker 的皮, ip 都是固定的。
    Eleutherios
        10
    Eleutherios  
       2017-04-03 23:45:47 +08:00 via iPhone
    zsj950618
        11
    zsj950618  
       2017-04-04 16:12:35 +08:00 via Android
    功能比 dehydrated 多,不过 dehydrated 在 debian 源里,洁癖症一般都从源里安装。楼主也可以考虑去 debian 那边发个 RFP ( debian 收录之后,像 ubuntu 什么的会自动收录
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1806 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:37 · PVG 00:37 · LAX 08:37 · JFK 11:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.