如何在 Docker 容器中将 Certbot 与服务器一起使用?

如何在 Docker 容器中将 Certbot 与服务器一起使用?

我在 docker 容器中运行 Tomcat 8。具体来说,图像tomcat:8-jre8。我正在尝试安装 Let's Encrypt 的证书,以便让所有与服务器的通信都通过 https 运行。我遇到的问题是,我无法使用证书自动安装工具 certbot 来服务器在docker中运行。

我曾想过在容器中安装 cerbot 然后运行它,但是没能成功。

如果在这种情况下使用 cerbot 不切实际,任何有关手动安装此证书的帮助都将不胜感激。

答案1

Certbot 需要验证您的域名。您可以在Certbot 用户指南

你可以这样做

  • 手动(通过配置您的 Web 服务器来提供服务www.yourdomain.com/.well-known/acme-challenge/挑战
  • 自动地
    • 使用现有服务器(Apache、nginx)
    • “内置”独立模式。

最有可能的是,您需要添加另一个容器,其中包含 Let's EncryptCertbot 图像。您还需要映射/etc/letsencrypt卷(并与您的 Tomcat 容器共享)。也许要确保文件夹存储在安全的地方。(您不想将证书存储在容器中,因为容器重新启动时它们将被删除。)

你可能还需要计划任务在主机或第三个容器中运行的作业,以触发证书的续订。标准续订命令仅有的当证书有效期剩余≤30天时,更新证书。

相关内容