通过 Docker openssl 容器生成生成Nginx证书文件

使用 alpine/openssl 镜像生成证书

1. 拉取容器

shell 复制代码
[root@localhost ~]# docker run --rm alpine/openssl version
OpenSSL 3.3.3 11 Feb 2025 (Library: OpenSSL 3.3.3 11 Feb 2025)

2. 运行 alpine/openssl 生成证书(Nginx)

shell 复制代码
# 生成1个.key私钥文件,1个.crt的证书文件,存放在当前路径
[root@localhost ~]# docker run --rm -v $(pwd):/certs alpine/openssl req -x509 -newkey rsa:4096 -keyout /certs/server.key -out /certs/server.crt -days 365 -nodes -subj "/CN=vw.land.com"

解释命令:
docker run --rm: 运行一个容器并在完成后自动删除它。

-v $(pwd):/certs: 将当前目录挂载到容器内的 /certs 目录。

alpine/openssl: 使用的镜像。

req -x509: 生成自签名证书。

-newkey rsa:4096: 生成一个新的 RSA 4096 位的私钥。

-keyout /certs/key.pem: 指定私钥的输出路径。

-out /certs/cert.pem: 指定证书的输出路径。

-days 365: 设置证书的有效期为 365 天。

-nodes: 不加密私钥。

-subj "/CN=vw.land.com": 设置证书的主题(Common Name 为 vw.land.com)。

3. 查看证书

shell 复制代码
[root@localhost ~]# ll
-rw-r--r--. 1 root root 1814  3月  6 16:27 cert.pem
-rw-------. 1 root root 3272  3月  6 16:27 key.pem
相关推荐
AlfredZhao12 小时前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐2 天前
Linux内存扩容指南
linux
zylyehuo2 天前
Linux 彻底且安全地删除文件
linux
用户805533698033 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297913 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF3 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Patrick_Wilson3 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy4 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭4 天前
运行你的第一个Docker容器
后端·docker·容器
Web3探索者4 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh