构建certbot-dns-aliyun并应用
构建certbot-dns-aliyun
1,配置Dockerfile文件
root登录ubuntu的终端
某个目录新建文件夹
# 创建文件夹
mkdir certbot-dns-aliyun
# 进入文件夹内
cd certbot-dns-aliyun创建Dockerfile文件
nano Dockerfile拷贝下边内容进Dockerfile
FROM certbot/certbot:v2.11.0
# 安装构建依赖
RUN apk add --no-cache \
python3 \
py3-pip \
gcc \
musl-dev \
libffi-dev \
openssl-dev
# 安装 certbot-dns-aliyun
RUN pip install --no-cache-dir certbot-dns-aliyun
# 验证插件是否安装成功(构建时检查)
RUN certbot plugins
说明:
v2.11.0:稳定,插件兼容性好
2,构建镜像
docker build -t camel52zhang/certbot-dns-aliyun:latest .验证版本(可以不验证)
docker run --rm camel52zhang/certbot-dns-aliyun:latest certbot --version应该看到类似:
certbot 2.11.0验证插件是否成功加载
docker run --rm camel52zhang/certbot-dns-aliyun:latest plugins应该能看到类似:
* dns-aliyun看到这个就 100% 成功 了。
3,推送到 Docker Hub
先加标签
docker tag camel52zhang/certbot-dns-aliyun:latest camel52zhang/certbot-dns-aliyun:v2.11.0GitHub Actions 自动构建(进阶)
git pushDocker Hub 自动更新镜像。
登录 Docker Hub
docker login -u camel52zhang
# token
dckr_pat_BN6iovtl123456789_123456789推送
docker push camel52zhang/certbot-dns-aliyun:latest
docker push camel52zhang/certbot-dns-aliyun:v2.11.0latest(随你更新)
v2.11.0(稳定可回滚)
完成后,你在 Docker Hub 就能看到:
https://hub.docker.com/r/camel52zhang/certbot-dns-aliyun应用certbot-dns-aliyun
在项目目录创建文件夹
# 创建文件夹certbot和certbot/letsencrypt
mkdir certbot
cd certbot
mkdir letsencrypt
# 创建文件credentials.ini
nano credentials.ini
# 粘贴下边内容进文件内(注意添你的AccessKeyID和你的AccessKeySecret):
dns_aliyun_access_key = 你的AccessKeyID
dns_aliyun_access_key_secret = 你的AccessKeySecret文件credentials.ini授权
chmod 600 credentials.ini回到项目跟目录(certbot同级目录)创建docker-compose.yml
services:
certbot:
image: camel52zhang/certbot-dns-aliyun:latest
container_name: camelznav-certbot
volumes:
- ./certbot/letsencrypt:/etc/letsencrypt
- ./certbot/credentials.ini:/etc/letsencrypt/aliyun.ini:ro
command: >
certonly
--authenticator dns-aliyun
--dns-aliyun-credentials /etc/letsencrypt/aliyun.ini
--dns-aliyun-propagation-seconds 30
-d yourdomain.com
--email youremail@qq.com
--agree-tos
--non-interactive搭配Nginx使用
搭配我的项目camelznav-frontend和camelznav-backend。