我正在寻找有关在docker容器中运行certbot的简单文档,但我只能找到复杂的指南,包括运行certbot+ Web服务器等。官方页面有点无用...https://hub.docker.com/r/certbot/certbot/。我已经将Web服务器与我的网站分开,并且我也想单独运行certbot。
有人能给我一些指导吗?我如何使用
由于我已经使用端口443和80上有服务,所以我考虑使用“主机网络”,如果需要certbot,但我真的不理解为什么它需要访问443,而我的网站已经在443上提供服务了。
我已经找到了类似以下内容的东西来生成certbot容器,但我不知道如何“使用它”或告诉它为我的网站生成证书。
例如:
这个链接内容与我需要的接近(显然我需要将我的域名作为参数传递进去!)。 Letsencrypt + Docker + Nginx:使用Letsencrypt、Docker和Nginx。
有人能给我一些指导吗?我如何使用
/opt/mysite/html
的webroot为mysite.com
生成证书。由于我已经使用端口443和80上有服务,所以我考虑使用“主机网络”,如果需要certbot,但我真的不理解为什么它需要访问443,而我的网站已经在443上提供服务了。
我已经找到了类似以下内容的东西来生成certbot容器,但我不知道如何“使用它”或告诉它为我的网站生成证书。
例如:
WD=/opt/certbot
mkdir -p $WD/{mnt,setup,conf,www}
cd $WD/setup
cat << 'EOF' >docker-compose.yaml
version: '3.7'
services:
certbot:
image: certbot/certbot
volumes:
- type: bind
source: /opt/certbot/conf
target: /etc/letsencrypt
- type: bind
source: /opt/certbot/www
target: /var/www/certbot
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
EOF
chmod +x docker-compose.yaml
这个链接内容与我需要的接近(显然我需要将我的域名作为参数传递进去!)。 Letsencrypt + Docker + Nginx:使用Letsencrypt、Docker和Nginx。
docker run -it --rm \
-v certs:/etc/letsencrypt \
-v certs-data:/data/letsencrypt \
deliverous/certbot \
certonly \
--webroot --webroot-path=/data/letsencrypt \
-d api.mydomain.com
我喜欢保持所有东西都相对独立,因此我希望仅在其自己的容器中运行Certbot,并配置Nginx / Web服务器以单独使用证书,而不需要Certbot自动配置Nginx或在同一堆栈中运行Web服务器。