1. 前言
《好好学Linux:Linux中安装使用mkcert签发域名证书》一文中,我们学习了Linux中安装使用mkcert签发域名证书的方法。
Linux直接安装mkcert存在两个问题:
- 如果一个新环境需要签发证书,需要找一台主机重新安装nss-tools和mkcert,比较麻烦。
- mkcert生成的CA证书和域名证书中,subject和issuer信息依赖主机名。为了提高证书的可读性,个人建议修改主机名,而修改主机名可能会影响主机中的其他服务。
如果把mkcert安装到Docker容器中,就可以解决上面的两个问题。
2. 制作mkcert镜像
1、编写 Dockerfile
1 | FROM debian:bookworm-slim |
国内加速小技巧:
- 替换了Debian软件安装源
- 替换了github release下载地址
2、打包mkcert镜像并上传
1 | docker build -t voidking/mkcert:v1.3.0-debian-bookworm-slim . |
3、mkcert镜像地址
需要的同学自取:dockerhub - voidking/mkcert
3. 使用mkcert镜像
1、启动mkcert容器
1 | docker run --name mkcert -d \ |
挂载 /opt/mkcert 到容器的 /root/.local/share/mkcert ,方便下载证书。
2、登录进入容器
1 | docker exec -it mkcert /bin/bash |
3、安装CA,颁发证书
1 | mkcert -install |